diff --git a/tests/Feature/Api/Assets/AssetFilesTest.php b/tests/Feature/Api/Assets/AssetFilesTest.php index af0061928..e799ba1a3 100644 --- a/tests/Feature/Api/Assets/AssetFilesTest.php +++ b/tests/Feature/Api/Assets/AssetFilesTest.php @@ -5,6 +5,7 @@ namespace Tests\Feature\Api\Assets; use Tests\TestCase; use App\Models\User; use App\Models\Asset; +use Illuminate\Http\UploadedFile; class AssetFilesTest extends TestCase { @@ -14,13 +15,17 @@ class AssetFilesTest extends TestCase // Create an asset to work with $asset = Asset::factory()->count(1)->create(); - // - //// Upload a file - //// Create a superuser to run this as - //$this->actingAsForApi(User::factory()->superuser()->create()) - // ->postJson( - // route('api.asset.files', $asset), [ - // 'file[]' => + + // Create a superuser to run this as + $user = User::factory()->superuser()->create(); + + //Upload a file + $this->actingAsForApi($user) + ->post( + route('api.assets.files', ['asset_id' => $asset[0]["id"]]), [ + 'file' => [UploadedFile::fake()->create("test.jpg", 100)] + ]) + ->assertOk(); } public function testAssetApiListsFiles() @@ -30,8 +35,6 @@ class AssetFilesTest extends TestCase // Create an asset to work with $asset = Asset::factory()->count(1)->create(); - print($asset); - // Create a superuser to run this as $user = User::factory()->superuser()->create(); $this->actingAsForApi($user) @@ -48,10 +51,55 @@ class AssetFilesTest extends TestCase public function testAssetApiDownloadsFile() { // Download a file from an asset + + // Create an asset to work with + $asset = Asset::factory()->count(1)->create(); + + // Create a superuser to run this as + $user = User::factory()->superuser()->create(); + + //Upload a file + $this->actingAsForApi($user) + ->post( + route('api.assets.files', ['asset_id' => $asset[0]["id"]]), [ + 'file' => [UploadedFile::fake()->create("test.jpg", 100)] + ])->assertOk(); + + // Get the file + $this->actingAsForApi($user) + ->get( + route('api.assets.file', [ + 'asset_id' => $asset[0]["id"], + 'file_id' => 1, + ])) + ->assertOk(); } public function testAssetApiDeletesFile() { // Delete a file from an asset + + // Create an asset to work with + $asset = Asset::factory()->count(1)->create(); + + // Create a superuser to run this as + $user = User::factory()->superuser()->create(); + + //Upload a file + $this->actingAsForApi($user) + ->post( + route('api.assets.files', ['asset_id' => $asset[0]["id"]]), [ + 'file' => [UploadedFile::fake()->create("test.jpg", 100)] + ]) + ->assertOk(); + + // Delete the file + $this->actingAsForApi($user) + ->delete( + route('api.assets.file', [ + 'asset_id' => $asset[0]["id"], + 'file_id' => 1, + ])) + ->assertOk(); } }