diff --git a/.env.testing b/.env.testing index 3fef978d..0efd3d4e 100644 --- a/.env.testing +++ b/.env.testing @@ -1,6 +1,6 @@ APP_NAME=Laravel APP_ENV=local -APP_KEY=base64:GhP7Rdqy8uICwxrAgwO0pf6xvWIaB/DDo6z2Ro0vIFg= +APP_KEY=base64:yCFkwqoIPdc5TZIjrgoK40pCqj+rnCOlonN6nXc/sbk= APP_DEBUG=true APP_URL=http://localhost APP_DEMO=false diff --git a/database/migrations/2022_02_17_073653_create_upload_requests_table.php b/database/migrations/2022_02_17_073653_create_upload_requests_table.php index ddc5152b..4928ba9c 100644 --- a/database/migrations/2022_02_17_073653_create_upload_requests_table.php +++ b/database/migrations/2022_02_17_073653_create_upload_requests_table.php @@ -17,7 +17,7 @@ class CreateUploadRequestsTable extends Migration $table->uuid('id'); $table->uuid('user_id'); $table->uuid('folder_id'); - $table->enum('status', ['active', 'filled', 'expired'])->default('active'); + $table->enum('status', ['active', 'filling', 'filled', 'expired'])->default('active'); $table->string('email')->nullable(); $table->longText('notes')->nullable(); $table->timestamps(); diff --git a/public/mix-manifest.json b/public/mix-manifest.json index f212c89f..79f2e410 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,5 +1,7 @@ { "/js/main.js": "/js/main.js", + "/js/chunks/request.js": "/js/chunks/request.js", + "/js/chunks/request-upload.js": "/js/chunks/request-upload.js", "/js/chunks/setup-wizard.js": "/js/chunks/setup-wizard.js", "/js/chunks/status-check.js": "/js/chunks/status-check.js", "/js/chunks/purchase-code.js": "/js/chunks/purchase-code.js", @@ -68,7 +70,5 @@ "/js/chunks/shared-with-me.js": "/js/chunks/shared-with-me.js", "/js/chunks/invitation.js": "/js/chunks/invitation.js", "/css/tailwind.css": "/css/tailwind.css", - "/css/app.css": "/css/app.css", - "/js/chunks/request-upload.js": "/js/chunks/request-upload.js", - "/js/chunks/request.js": "/js/chunks/request.js" + "/css/app.css": "/css/app.css" } diff --git a/resources/js/components/FilePreview/FilePreviewMedia.vue b/resources/js/components/FilePreview/FilePreviewMedia.vue index 61e143fb..53563875 100644 --- a/resources/js/components/FilePreview/FilePreviewMedia.vue +++ b/resources/js/components/FilePreview/FilePreviewMedia.vue @@ -141,7 +141,7 @@ export default { this.currentIndex = index } }) - }, 100), + }, 50), getFilesForView() { let requestedFile = this.clipboard[0] diff --git a/resources/js/components/FilesView/ItemGrid.vue b/resources/js/components/FilesView/ItemGrid.vue index 3a67feb2..6d05abfc 100644 --- a/resources/js/components/FilesView/ItemGrid.vue +++ b/resources/js/components/FilesView/ItemGrid.vue @@ -65,7 +65,7 @@ diff --git a/resources/js/components/FilesView/ItemList.vue b/resources/js/components/FilesView/ItemList.vue index 8ab586fd..51609f95 100644 --- a/resources/js/components/FilesView/ItemList.vue +++ b/resources/js/components/FilesView/ItemList.vue @@ -44,7 +44,7 @@ v-if="isImage && entry.data.attributes.thumbnail" class="ml-0.5 h-12 w-12 rounded object-cover" :src="entry.data.attributes.thumbnail.xs" - :alt="entry.data.attributes.name" + alt="" loading="lazy" /> diff --git a/resources/js/helpers/functionHelpers.js b/resources/js/helpers/functionHelpers.js index cec19672..ea69fc1d 100644 --- a/resources/js/helpers/functionHelpers.js +++ b/resources/js/helpers/functionHelpers.js @@ -326,6 +326,7 @@ const FunctionHelpers = { Vue.prototype.$getDataByLocation = function () { let routes = { + RequestUpload: ['getUploadRequestFolder', router.currentRoute.params.id || undefined ], Public: ['getSharedFolder', router.currentRoute.params.id || undefined], Files: ['getFolder', router.currentRoute.params.id || undefined], RecentUploads: ['getRecentUploads'], @@ -424,10 +425,8 @@ const FunctionHelpers = { Vue.prototype.$goToFileView = function (id) { let locations = { - Public: { - name: 'Public', - params: { token: this.$route.params.token, id: id }, - }, + RequestUpload: {name: 'RequestUpload', params: { token: this.$route.params.token, id: id }}, + Public: {name: 'Public', params: { token: this.$route.params.token, id: id }}, TeamFolders: { name: 'TeamFolders', params: { id: id } }, SharedWithMe: { name: 'SharedWithMe', params: { id: id } }, MySharedItems: { name: 'Files', params: { id: id } }, diff --git a/resources/js/store/modules/fileFunctions.js b/resources/js/store/modules/fileFunctions.js index 5ae2da5f..5ca7f7d4 100644 --- a/resources/js/store/modules/fileFunctions.js +++ b/resources/js/store/modules/fileFunctions.js @@ -313,7 +313,7 @@ const actions = { commit('REMOVE_ITEM', data.data.id) // Remove item from sidebar - if (getters.permission === 'master') { + if (! ['Public', 'RequestUpload'].includes(router.currentRoute.name)) { if (data.data.type === 'folder') commit('REMOVE_ITEM_FROM_FAVOURITES', data) } }) diff --git a/resources/js/store/modules/uploadRequest.js b/resources/js/store/modules/uploadRequest.js index 30061e0e..e4dd941f 100644 --- a/resources/js/store/modules/uploadRequest.js +++ b/resources/js/store/modules/uploadRequest.js @@ -1,6 +1,5 @@ import router from '../../router' import { events } from '../../bus' -import i18n from '../../i18n' import axios from 'axios' import Vue from 'vue' @@ -9,19 +8,51 @@ const defaultState = { } const actions = { + getUploadRequestFolder: ({ commit, getters }, id) => { + commit('LOADING_STATE', { loading: true, data: [] }) + + return new Promise((resolve, reject) => { + axios + .get(`/api/upload-request/${router.currentRoute.params.token}/browse/${id}${getters.sorting.URI}`) + .then((response) => { + let folders = response.data.folders.data + let files = response.data.files.data + + commit('LOADING_STATE', { + loading: false, + data: folders.concat(files), + }) + commit('SET_CURRENT_FOLDER', response.data.root) + + events.$emit('scrollTop') + + resolve(response) + }) + .catch((error) => { + Vue.prototype.$isSomethingWrong() + + reject(error) + }) + }) + }, getUploadRequestDetail: ({ commit }) => { - axios.get(`/api/upload-request/${router.currentRoute.params.token}`) - .then((response) => { + return new Promise((resolve, reject) => { + axios.get(`/api/upload-request/${router.currentRoute.params.token}`) + .then((response) => { + resolve(response) - commit('LOADING_STATE', { loading: false, data: [] }) + // Stop loading spinner + if (response.data.data.attributes.status === 'active') + commit('LOADING_STATE', { loading: false, data: [] }) - commit('SET_UPLOAD_REQUEST', response.data) + commit('SET_UPLOAD_REQUEST', response.data) - // Set current folder if exist - if (response.data.data.relationships.folder) { - commit('SET_CURRENT_FOLDER', response.data.data.relationships.folder) - } - }) + // Set current folder if exist + if (! router.currentRoute.params.id) { + commit('SET_CURRENT_FOLDER', response.data.data.relationships.folder) + } + }) + }) }, closeUploadRequest: ({ commit }) => { axios diff --git a/resources/js/views/FileView/UploadRequestFiles.vue b/resources/js/views/FileView/UploadRequestFiles.vue index 585597ea..9a147698 100644 --- a/resources/js/views/FileView/UploadRequestFiles.vue +++ b/resources/js/views/FileView/UploadRequestFiles.vue @@ -40,7 +40,7 @@ /> - + @@ -81,7 +81,7 @@ - + - - - - - - {{ emptyPageTitle }} - - - {{ emptyPageDescription }} - + + + {{ $t('empty_page.title') }} + + + {{ $t('empty_page.description') }} + + + {{ $t('empty_page.call_to_action') }} + + - - {{ $t('empty_page.call_to_action') }} - + + + + + + + + {{ emptyPageTitle }} + + + {{ emptyPageDescription }} + + + + {{ $t('empty_page.call_to_action') }} + + @@ -175,7 +190,7 @@ export default { Option, }, computed: { - ...mapGetters(['fastPreview', 'clipboard', 'config', 'user', 'entries', 'uploadRequest']), + ...mapGetters(['fastPreview', 'clipboard', 'config', 'user', 'uploadRequest']), isFolder() { return this.item && this.item.data.type === 'folder' }, @@ -215,12 +230,20 @@ export default { events.$emit('popup:open', {name: 'create-folder'}) }, }, - created() { + mounted() { events.$on('context-menu:show', (event, item) => (this.item = item)) events.$on('context-menu:current-folder', (folder) => (this.item = folder)) events.$on('mobile-context-menu:show', (item) => (this.item = item)) - this.$store.dispatch('getUploadRequestDetail') + // Load folder from id in router + if (this.$route.params.id) { + this.$store.dispatch('getUploadRequestFolder', this.$route.params.id) + } + + // Load root folder for upload request + if (! this.$route.params.id && this.uploadRequest && this.uploadRequest.data.attributes.status === 'filling') { + this.$store.dispatch('getUploadRequestFolder') + } }, } diff --git a/resources/js/views/UploadRequest.vue b/resources/js/views/UploadRequest.vue index 96dfcde4..4de6a16e 100644 --- a/resources/js/views/UploadRequest.vue +++ b/resources/js/views/UploadRequest.vue @@ -22,8 +22,8 @@ @contextmenu.prevent.capture="contextMenu($event, undefined)" class="transition-transform duration-200 lg:grid lg:flex-grow lg:content-start lg:px-3.5" > - - + + @@ -32,7 +32,7 @@ - + @@ -73,7 +73,7 @@ export default { DragUI, }, computed: { - ...mapGetters(['isVisibleSidebar', 'config', 'entries']), + ...mapGetters(['isVisibleSidebar', 'config', 'uploadRequest']), }, data() { return { @@ -94,6 +94,13 @@ export default { if (data.operation === 'close-upload-request') this.$store.dispatch('closeUploadRequest') }) - }, + + this.$store.dispatch('getUploadRequestDetail') + .then((response) => { + if (! this.$route.params.id && response.data.data.attributes.status === 'filling') { + this.$store.dispatch('getUploadRequestFolder') + } + }) + }, } diff --git a/routes/file.php b/routes/file.php index b8eb44e8..dc0e2f52 100644 --- a/routes/file.php +++ b/routes/file.php @@ -13,8 +13,10 @@ Route::get('/avatars/{avatar}', GetAvatarController::class); Route::get('/system/{image}', GetAppImageController::class); // Get Upload request thumbnails and files -Route::get('/thumbnail/{name}/upload-request/{uploadRequest}', GetThumbnailFromUploadRequestController::class); -Route::get('/file/{name}/upload-request/{uploadRequest}', GetFileFromUploadRequestController::class); +Route::group(['middleware' => ['upload-request']], function () { + Route::get('/thumbnail/{name}/upload-request/{uploadRequest}', GetThumbnailFromUploadRequestController::class); + Route::get('/file/{name}/upload-request/{uploadRequest}', GetFileFromUploadRequestController::class); +}); // Get public thumbnails and files Route::get('/thumbnail/{name}/shared/{shared}', VisitorGetThumbnailController::class); diff --git a/routes/upload-request.php b/routes/upload-request.php index c7b8afea..4dfd8f48 100644 --- a/routes/upload-request.php +++ b/routes/upload-request.php @@ -1,19 +1,20 @@ 'upload-request'], function() { +Route::group(['middleware' => 'upload-request'], function () { // Detail Route::delete('/{uploadRequest}', SetUploadRequestAsFilledController::class); @@ -25,6 +26,7 @@ Route::group(['middleware' => 'upload-request'], function() { // Browsing Route::get('/{uploadRequest}/navigation', GetFolderTreeForUploadRequestController::class); + Route::get('/{uploadRequest}/browse/{folder?}', BrowseUploadRequestController::class); Route::post('/{uploadRequest}/move', MoveItemInUploadRequestController::class); }); diff --git a/src/App/Http/Kernel.php b/src/App/Http/Kernel.php index 086b64b7..4b9b5eb6 100644 --- a/src/App/Http/Kernel.php +++ b/src/App/Http/Kernel.php @@ -1,7 +1,6 @@ [ 'id' => $this->id, diff --git a/src/Domain/UploadRequest/Controllers/BrowseUploadRequestController.php b/src/Domain/UploadRequest/Controllers/BrowseUploadRequestController.php new file mode 100644 index 00000000..fe7e39d6 --- /dev/null +++ b/src/Domain/UploadRequest/Controllers/BrowseUploadRequestController.php @@ -0,0 +1,40 @@ +id; + + $folders = Folder::with(['parent:id,name']) + ->where('parent_id', $rootId) + ->where('user_id', $uploadRequest->user_id) + ->sortable() + ->get(); + + // TODO: security check + $files = File::with(['parent:id,name']) + ->where('parent_id', $rootId) + ->where('user_id', $uploadRequest->user_id) + ->sortable() + ->get() + ->each(fn ($file) => $file->setUploadRequestPublicUrl($uploadRequest->id)); + + // Collect folders and files to single array + return [ + 'folders' => new FolderCollection($folders), + 'files' => new FilesCollection($files), + 'root' => new FolderResource(Folder::find($rootId)), + ]; + } +} diff --git a/src/Domain/UploadRequest/Controllers/CreateFolderController.php b/src/Domain/UploadRequest/Controllers/CreateFolderController.php index ccbe44c5..3422b995 100644 --- a/src/Domain/UploadRequest/Controllers/CreateFolderController.php +++ b/src/Domain/UploadRequest/Controllers/CreateFolderController.php @@ -1,12 +1,11 @@ forceDelete(); } -} \ No newline at end of file +} diff --git a/src/Domain/UploadRequest/Controllers/FileAccess/GetFileFromUploadRequestController.php b/src/Domain/UploadRequest/Controllers/FileAccess/GetFileFromUploadRequestController.php index 2e2b26b3..7c1cf665 100644 --- a/src/Domain/UploadRequest/Controllers/FileAccess/GetFileFromUploadRequestController.php +++ b/src/Domain/UploadRequest/Controllers/FileAccess/GetFileFromUploadRequestController.php @@ -25,15 +25,9 @@ class GetFileFromUploadRequestController string $filename, UploadRequest $uploadRequest ): Application|ResponseFactory|Response|BinaryFileResponse { - // Check if upload request is active - if ($uploadRequest->status !== 'active') { - return response('Gone', 410); - } - // Get file $file = File::where('user_id', $uploadRequest->user_id) ->where('basename', $filename) - ->where('parent_id', $uploadRequest->id) ->firstOrFail(); // Store user download size diff --git a/src/Domain/UploadRequest/Controllers/FileAccess/GetThumbnailFromUploadRequestController.php b/src/Domain/UploadRequest/Controllers/FileAccess/GetThumbnailFromUploadRequestController.php index 889b0502..b616b862 100644 --- a/src/Domain/UploadRequest/Controllers/FileAccess/GetThumbnailFromUploadRequestController.php +++ b/src/Domain/UploadRequest/Controllers/FileAccess/GetThumbnailFromUploadRequestController.php @@ -26,15 +26,9 @@ class GetThumbnailFromUploadRequestController extends Controller string $filename, UploadRequest $uploadRequest ): Application|ResponseFactory|Response|StreamedResponse { - // Check if upload request is active - if ($uploadRequest->status !== 'active') { - return response('Gone', 410); - } - // Get file $file = File::where('user_id', $uploadRequest->user_id) ->where('basename', substr($filename, 3)) - ->where('parent_id', $uploadRequest->id) ->firstOrFail(); // Store user download size diff --git a/src/Domain/UploadRequest/Controllers/GetFolderTreeForUploadRequestController.php b/src/Domain/UploadRequest/Controllers/GetFolderTreeForUploadRequestController.php index 521b792c..74f3c374 100644 --- a/src/Domain/UploadRequest/Controllers/GetFolderTreeForUploadRequestController.php +++ b/src/Domain/UploadRequest/Controllers/GetFolderTreeForUploadRequestController.php @@ -1,13 +1,12 @@ status !== 'active') { - return response('Gone', 410); - } - // Get item $item = get_item($request->input('type'), $id); diff --git a/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php b/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php index 79930991..89e03855 100644 --- a/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php +++ b/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php @@ -59,13 +59,20 @@ class UploadFilesForUploadRequestController */ private function createFolder(UploadRequest $uploadRequest): void { + // Format timestamp $timestampName = format_date($uploadRequest->created_at, 'd. M. Y'); + // Create folder DB::table('folders')->insert([ 'id' => $uploadRequest->id, 'parent_id' => $uploadRequest->folder_id, 'user_id' => $uploadRequest->user_id, 'name' => "Upload Request from $timestampName", ]); + + // Update upload request status + $uploadRequest->update([ + 'status' => 'filling', + ]); } } diff --git a/src/Domain/UploadRequest/Middleware/ProtectUploadRequestRoutes.php b/src/Domain/UploadRequest/Middleware/ProtectUploadRequestRoutes.php index b15aa778..c75e8efd 100644 --- a/src/Domain/UploadRequest/Middleware/ProtectUploadRequestRoutes.php +++ b/src/Domain/UploadRequest/Middleware/ProtectUploadRequestRoutes.php @@ -11,8 +11,11 @@ class ProtectUploadRequestRoutes */ public function handle(Request $request, Closure $next): mixed { + // Get upload request + $uploadRequest = $request->route()->parameter('uploadRequest'); + // Check if upload request is active - if ($request->route()->parameter('uploadRequest')->status !== 'active') { + if (! in_array($uploadRequest->status, ['active', 'filling'])) { return response('Gone', 410); } diff --git a/src/Domain/UploadRequest/Resources/UploadRequestResource.php b/src/Domain/UploadRequest/Resources/UploadRequestResource.php index d2134177..53d8f6f5 100644 --- a/src/Domain/UploadRequest/Resources/UploadRequestResource.php +++ b/src/Domain/UploadRequest/Resources/UploadRequestResource.php @@ -13,11 +13,11 @@ class UploadRequestResource extends JsonResource 'id' => $this->id, 'type' => 'upload-request', 'attributes' => [ - 'folder_id' => $this->folder_id, - 'status' => $this->status, - 'email' => $this->email, - 'notes' => $this->notes, - 'url' => url("/request/$this->id/upload"), + 'folder_id' => $this->folder_id, + 'status' => $this->status, + 'email' => $this->email, + 'notes' => $this->notes, + 'url' => url("/request/$this->id/upload"), ], 'relationships' => [ $this->mergeWhen($this->folder, fn () => [ diff --git a/src/Support/Scheduler/Actions/ExpireUnfilledUploadRequestAction.php b/src/Support/Scheduler/Actions/ExpireUnfilledUploadRequestAction.php index 97d5868f..e86ed3c0 100644 --- a/src/Support/Scheduler/Actions/ExpireUnfilledUploadRequestAction.php +++ b/src/Support/Scheduler/Actions/ExpireUnfilledUploadRequestAction.php @@ -8,7 +8,7 @@ class ExpireUnfilledUploadRequestAction { public function __invoke() { - UploadRequest::where('status', 'active') + UploadRequest::whereIn('status', ['active', 'filling']) ->cursor() ->each(function ($uploadRequest) { // Get timestamp of last upload if exist diff --git a/tests/Domain/Files/FileTest.php b/tests/Domain/Files/FileTest.php index ca4a50d7..9e6c31d3 100644 --- a/tests/Domain/Files/FileTest.php +++ b/tests/Domain/Files/FileTest.php @@ -1,5 +1,4 @@ collapse() ->each( - fn($item) => Storage::assertExists( + fn ($item) => Storage::assertExists( "files/{$user->id}/{$item['name']}-{$file->basename}" ) ); @@ -255,11 +254,11 @@ class FileTest extends TestCase // Mock files $thumbnail_sizes = collect([ config('vuefilemanager.image_sizes.later'), - config('vuefilemanager.image_sizes.immediately') + config('vuefilemanager.image_sizes.immediately'), ])->collapse(); $fakeFile = UploadedFile::fake() - ->create("fake-image.jpeg", 2000, 'image/jpeg'); + ->create('fake-image.jpeg', 2000, 'image/jpeg'); Storage::putFileAs("files/$user->id", $fakeFile, $fakeFile->name); @@ -288,8 +287,8 @@ class FileTest extends TestCase Storage::assertMissing("files/$user->id/fake-image.jpeg"); // Assert thumbnail was deleted - getThumbnailFileList("fake-image.jpeg") - ->each(fn($thumbnail) => Storage::assertMissing("files/$user->id/$thumbnail")); + getThumbnailFileList('fake-image.jpeg') + ->each(fn ($thumbnail) => Storage::assertMissing("files/$user->id/$thumbnail")); } /** diff --git a/tests/Domain/UploadRequest/UploadRequestBrowsingTest.php b/tests/Domain/UploadRequest/UploadRequestBrowsingTest.php index c7756f7a..1a905ea5 100644 --- a/tests/Domain/UploadRequest/UploadRequestBrowsingTest.php +++ b/tests/Domain/UploadRequest/UploadRequestBrowsingTest.php @@ -1,18 +1,18 @@ hasSettings() @@ -26,7 +26,7 @@ class UploadRequestBrowsingTest extends TestCase Folder::factory() ->create([ - 'id' => $uploadRequest->id, + 'id' => $uploadRequest->id, 'name' => 'Upload request', 'user_id' => $user->id, ]); @@ -34,8 +34,8 @@ class UploadRequestBrowsingTest extends TestCase $folder_level_1 = Folder::factory() ->create([ 'parent_id' => $uploadRequest->id, - 'name' => 'level 1', - 'user_id' => $user->id, + 'name' => 'level 1', + 'user_id' => $user->id, ]); $folder_level_2 = Folder::factory() @@ -77,4 +77,104 @@ class UploadRequestBrowsingTest extends TestCase ], ]); } -} \ No newline at end of file + + /** + * @test + */ + public function it_get_folder_content_for_upload_request_folder() + { + $user = User::factory() + ->hasSettings() + ->create(); + + $uploadRequest = UploadRequest::factory() + ->create([ + 'status' => 'active', + 'user_id' => $user->id, + ]); + + $root = Folder::factory() + ->create([ + 'id' => $uploadRequest->id, + 'name' => 'root', + 'user_id' => $user->id, + ]); + + $folder = Folder::factory() + ->create([ + 'parent_id' => $root->id, + 'author' => 'user', + 'user_id' => $user->id, + ]); + + $file = File::factory() + ->create([ + 'parent_id' => $root->id, + 'user_id' => $user->id, + ]); + + $this + ->actingAs($user) + ->getJson("/api/upload-request/$uploadRequest->id/browse/$root->id") + ->assertStatus(200) + ->assertJsonFragment([ + 'id' => $root->id, + ]) + ->assertJsonFragment([ + 'id' => $file->id, + ]) + ->assertJsonFragment([ + 'id' => $folder->id, + ]); + } + + /** + * @test + */ + public function it_get_folder_content_from_not_existed_upload_request_folder() + { + $user = User::factory() + ->hasSettings() + ->create(); + + $uploadRequest = UploadRequest::factory() + ->create([ + 'status' => 'active', + 'user_id' => $user->id, + ]); + + $root = Folder::factory() + ->create([ + 'id' => $uploadRequest->id, + 'name' => 'root', + 'user_id' => $user->id, + ]); + + $folder = Folder::factory() + ->create([ + 'parent_id' => $root->id, + 'author' => 'user', + 'user_id' => $user->id, + ]); + + $file = File::factory() + ->create([ + 'parent_id' => $root->id, + 'user_id' => $user->id, + ]); + + $this + ->actingAs($user) + ->getJson("/api/upload-request/$uploadRequest->id/browse/$root->id") + ->assertStatus(200) + ->assertJsonFragment([ + 'id' => $root->id, + ]) + ->assertJsonFragment([ + 'id' => $file->id, + ]) + ->assertJsonFragment([ + 'id' => $folder->id, + ]); + } +} diff --git a/tests/Domain/UploadRequest/UploadRequestEditingTest.php b/tests/Domain/UploadRequest/UploadRequestEditingTest.php index 06dc7d62..e6c34d15 100644 --- a/tests/Domain/UploadRequest/UploadRequestEditingTest.php +++ b/tests/Domain/UploadRequest/UploadRequestEditingTest.php @@ -1,5 +1,4 @@ collapse(); $fakeFile = UploadedFile::fake() - ->create("fake-image.jpeg", 2000, 'image/jpeg'); + ->create('fake-image.jpeg', 2000, 'image/jpeg'); Storage::putFileAs("files/$user->id", $fakeFile, $fakeFile->name); @@ -177,8 +176,8 @@ class UploadRequestEditingTest extends TestCase Storage::assertMissing("files/$user->id/fake-image.jpeg"); // Assert thumbnail was deleted - getThumbnailFileList("fake-image.jpeg") - ->each(fn($thumbnail) => Storage::assertMissing("files/$user->id/$thumbnail")); + getThumbnailFileList('fake-image.jpeg') + ->each(fn ($thumbnail) => Storage::assertMissing("files/$user->id/$thumbnail")); } /** diff --git a/tests/Domain/UploadRequest/UploadRequestTest.php b/tests/Domain/UploadRequest/UploadRequestTest.php index 982a7204..07632a5d 100644 --- a/tests/Domain/UploadRequest/UploadRequestTest.php +++ b/tests/Domain/UploadRequest/UploadRequestTest.php @@ -128,6 +128,9 @@ class UploadRequestTest extends TestCase ])->assertStatus(201); $this + ->assertDatabaseHas('upload_requests', [ + 'status' => 'filling', + ]) ->assertDatabaseHas('folders', [ 'id' => $uploadRequest->id, 'name' => 'Upload Request from 01. Jan. 2021',
- {{ emptyPageDescription }} -
+ {{ $t('empty_page.description') }} +
+ {{ emptyPageDescription }} +