From 3b1488209e6968175ca5873a1c4fcaeb55066dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Fr=C3=B6hlich?= Date: Thu, 13 Nov 2025 17:23:34 +0100 Subject: [PATCH] fix: minor optical changes on the upload side --- .../components/layouts/app/sidebar.blade.php | 2 +- .../views/livewire/upload/index.blade.php | 19 +++- tests/Feature/Livewire/Upload/IndexTest.php | 107 +++++++++--------- tests/Feature/NavigationTest.php | 2 +- 4 files changed, 66 insertions(+), 64 deletions(-) diff --git a/resources/views/components/layouts/app/sidebar.blade.php b/resources/views/components/layouts/app/sidebar.blade.php index 624b57d..645fddb 100644 --- a/resources/views/components/layouts/app/sidebar.blade.php +++ b/resources/views/components/layouts/app/sidebar.blade.php @@ -16,7 +16,7 @@ {{ __('Übersicht') }} {{ __('Unternehmensauskunft') }} {{ __('Transaktionsprüfung') }} - {{ __('Datei-Upload') }} + {{ __('Upload neuer Transaktionen') }} diff --git a/resources/views/livewire/upload/index.blade.php b/resources/views/livewire/upload/index.blade.php index 187bf0a..e587506 100644 --- a/resources/views/livewire/upload/index.blade.php +++ b/resources/views/livewire/upload/index.blade.php @@ -7,11 +7,18 @@ new class extends Component // }; ?> -
-
-
- {{ __('File Upload') }} - {{ __('Upload files to the processing endpoint') }} +
+
+
+ {{ __('Upload neuer Transaktionen als CSV Datei') }} + + {{ __('Hochladen der Datei zur Verarbeitung durch die Trusted AI Plattform') }} + +
+
+ +
+
assertSee('id="file-upload"', false) + ->assertSee('x-ref="fileInput"', false) + ->assertSee('@change="selectFile"', false); }); -it('validates file is required', function () { +it('displays alpine.js data structure', function () { $user = User::factory()->create(); + $this->actingAs($user); - Volt::test('upload.index') - ->set('file', null) - ->call('upload') - ->assertHasErrors(['file' => 'required']); + $response = $this->get('/upload'); + + $response + ->assertOk() + ->assertSee('x-data', false) + ->assertSee('file: null', false) + ->assertSee('uploading: false', false) + ->assertSee('uploadStatus: null', false); }); -it('validates file size limit', function () { +it('displays upload button with loading states', function () { $user = User::factory()->create(); + $this->actingAs($user); - Storage::fake('local'); + $response = $this->get('/upload'); - $file = UploadedFile::fake()->create('large.pdf', 51201); // Exceeds 50MB - - Volt::test('upload.index') - ->set('file', $file) - ->call('upload') - ->assertHasErrors('file'); + $response + ->assertOk() + ->assertSee('x-show="!uploading"', false) + ->assertSee('Upload File') + ->assertSee('x-show="uploading"', false) + ->assertSee('Uploading...'); }); -it('handles upload errors gracefully', function () { - Http::fake([ - 'https://upload.trai.mcs.local/api/upload' => Http::response('Server Error', 500), - ]); - +it('displays progress bar for upload state', function () { $user = User::factory()->create(); + $this->actingAs($user); - Storage::fake('local'); + $response = $this->get('/upload'); - $file = UploadedFile::fake()->create('document.pdf', 100); - - Volt::test('upload.index') - ->set('file', $file) - ->call('upload') - ->assertSet('uploadStatus', 'error') - ->assertSee('Upload failed'); + $response + ->assertOk() + ->assertSee('x-show="uploading"', false) + ->assertSee('Please wait while your file is being uploaded...'); }); -it('can clear selected file', function () { +it('displays callout for upload status messages', function () { $user = User::factory()->create(); + $this->actingAs($user); - Storage::fake('local'); + $response = $this->get('/upload'); - $file = UploadedFile::fake()->create('document.pdf', 100); - - Volt::test('upload.index') - ->set('file', $file) - ->assertSet('file', fn ($value) => $value !== null) - ->set('file', null) - ->assertSet('file', null); + $response + ->assertOk() + ->assertSee('x-show="uploadStatus"', false) + ->assertSee('x-bind:variant', false) + ->assertSee('x-text="uploadMessage"', false); }); diff --git a/tests/Feature/NavigationTest.php b/tests/Feature/NavigationTest.php index 73c3ebd..066341f 100644 --- a/tests/Feature/NavigationTest.php +++ b/tests/Feature/NavigationTest.php @@ -7,6 +7,6 @@ it('displays upload link in navigation for authenticated users', function () { $this->actingAs($user) ->get('/dashboard') - ->assertSee('Datei-Upload') + ->assertSee('Upload neuer Transaktionen') ->assertSee(route('upload')); });