hasSettings() ->create(); $folder = Folder::factory() ->create([ 'user_id' => $user->id, ]); collect([0, 1]) ->each(function ($index) use ($folder, $user) { $file = UploadedFile::fake() ->create("fake-file-$index.pdf", 1200, 'application/pdf'); $this ->actingAs($user) ->postJson('/api/upload', [ 'filename' => $file->name, 'file' => $file, 'parent_id' => $folder->id, 'path' => "/$file->name", 'is_last' => 'true', ])->assertStatus(201); }); $member = User::factory() ->hasSettings() ->create(); // Attach user into members TeamFolderMember::create([ 'parent_id' => $folder->id, 'user_id' => $member->id, 'permission' => 'can-edit', ]); $this ->actingAs($member) ->getJson("/api/zip?items=$folder->id|folder") ->assertStatus(200) ->assertHeader('content-type', 'application/x-zip'); } /** * @test */ public function team_member_download_files_as_zip() { $user = User::factory() ->hasSettings() ->create(); $folder = Folder::factory() ->create([ 'user_id' => $user->id, ]); collect([0, 1]) ->each(function ($index) use ($folder, $user) { $file = UploadedFile::fake() ->create("fake-file-$index.pdf", 1200, 'application/pdf'); $this ->actingAs($user) ->postJson('/api/upload', [ 'filename' => $file->name, 'file' => $file, 'parent_id' => $folder->id, 'path' => "/$file->name", 'is_last' => 'true', ])->assertStatus(201); }); $member = User::factory() ->hasSettings() ->create(); // Attach user into members TeamFolderMember::create([ 'parent_id' => $folder->id, 'user_id' => $member->id, 'permission' => 'can-edit', ]); $files = File::all(); $this ->actingAs($member) ->getJson("/api/zip?items={$files->first()->id}|file,{$files->last()->id}|file") ->assertStatus(200) ->assertHeader('content-type', 'application/x-zip'); } }