hasSettings() ->create(); $attributes = [ 'user_id' => $user->id, 'deleted_at' => now(), ]; $folder = Folder::factory() ->create($attributes); $file = File::factory() ->create($attributes); $this ->actingAs($user) ->postJson('/api/trash/restore', [ 'items' => [ [ 'id' => $file->id, 'type' => 'file', ], [ 'id' => $folder->id, 'type' => 'folder', ], ], ])->assertStatus(204); $this->assertDatabaseHas('files', [ 'deleted_at' => null, ]); $this->assertDatabaseHas('folders', [ 'deleted_at' => null, ]); } /** * @test */ public function it_dump_trash() { $user = User::factory() ->hasSettings() ->create(); Sanctum::actingAs($user); $folder = Folder::factory() ->create([ 'user_id' => $user->id, ]); $image = UploadedFile::fake() ->image('fake-image.jpg'); $this->postJson('/api/upload', [ 'name' => $image->name, 'file' => $image, 'parent_id' => null, 'path' => '/' . $image->name, 'is_last' => 'true', ])->assertStatus(201); $file = File::first(); $this->postJson('/api/remove', [ 'items' => [ [ 'id' => $file->id, 'type' => 'file', 'force_delete' => false, ], [ 'id' => $folder->id, 'type' => 'folder', 'force_delete' => false, ], ], ])->assertStatus(204); $this->deleteJson('/api/trash/dump') ->assertStatus(204); $this->assertDatabaseMissing('files', [ 'id' => $file->id, ]); $this->assertDatabaseMissing('folders', [ 'id' => $folder->id, ]); $disk = Storage::disk('local'); $thumbnail_sizes = collect(config('vuefilemanager.image_sizes'))->collapse()->all(); $disk->assertMissing( "files/$user->id/fake-image.jpg" ); foreach ($thumbnail_sizes as $size) { $disk->assertMissing( "files/$user->id/{$size['name']}-fake-image.jpg" ); } } }