- when member upload files or create folder in team folder, the true owner of the content is creator of team member. That means the upload bandwidth and storage go to creator responsibility

This commit is contained in:
Čarodej
2022-03-30 09:34:25 +02:00
parent 0fbb8fd8ee
commit 0ca67c2348
31 changed files with 256 additions and 396 deletions
+45 -3
View File
@@ -1,6 +1,8 @@
<?php
namespace Tests\Domain\Teams;
use Illuminate\Http\UploadedFile;
use Notification;
use Tests\TestCase;
use App\Users\Models\User;
@@ -31,9 +33,8 @@ class TeamsTest extends TestCase
'parent_id' => $level_1->id,
]);
$teamRoot = $level_2->getLatestParent();
$this->assertEquals($teamFolder->id, $teamRoot->id);
$this->assertEquals($teamFolder->id, $level_2->getLatestParent()->id);
$this->assertEquals($teamFolder->id, $teamFolder->getLatestParent()->id);
}
/**
@@ -72,6 +73,7 @@ class TeamsTest extends TestCase
$this
->assertDatabaseHas('folders', [
'user_id' => $user->id,
'name' => 'Company Project',
'team_folder' => 1,
])
@@ -96,6 +98,7 @@ class TeamsTest extends TestCase
$teamFolder = Folder::factory()
->create([
'user_id' => $user->id,
'team_folder' => 1,
]);
@@ -108,6 +111,7 @@ class TeamsTest extends TestCase
->assertStatus(201)
->assertJsonFragment([
'isTeamFolder' => true,
'id' => $user->id,
]);
}
@@ -254,4 +258,42 @@ class TeamsTest extends TestCase
'id' => $folders[0]->id,
]);
}
/**
* @test
*/
public function team_member_upload_new_file()
{
$file = UploadedFile::fake()
->create('fake-file.pdf', 12000000, 'application/pdf');
$user = User::factory()
->hasSettings()
->create();
$member = User::factory()
->hasSettings()
->create();
$folder = Folder::factory()
->create([
'user_id' => $user->id,
'team_folder' => 1,
]);
$this
->actingAs($member)
->postJson('/api/upload', [
'filename' => $file->name,
'file' => $file,
'parent_id' => $folder->id,
'path' => "/$file->name",
'is_last' => 'true',
])->assertStatus(201);
$this->assertDatabaseHas('files', [
'user_id' => $user->id,
'creator_id' => $member->id,
]);
}
}