From e0c0bb2c29d81b0e997f73220392375abd48c458 Mon Sep 17 00:00:00 2001 From: nexxo Date: Sat, 1 Aug 2026 02:08:28 +0200 Subject: [PATCH] =?UTF-8?q?Release=20v1.3.83=20=E2=80=94=20Fortschritt=20z?= =?UTF-8?q?eigte=20=C3=9Cbersetzungsschl=C3=BCssel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unter jedem Schritt stand `dashboard.step_state.done` statt eines Wortes — im Adminbereich UND im Kundenportal, wo derselbe Stepper jemanden durch die Einrichtung seiner Cloud begleitet. Die Schlüssel gab es in keiner der beiden Sprachdateien. Die Paritätsprüfung aus R16 konnte das nicht finden: sie vergleicht Deutsch mit Englisch, und die beiden waren sich einig. Der Aufruf ist zusätzlich zusammengesetzt (`__('dashboard.step_state.'.$state)`), also findet ihn auch keine Suche nach festen Zeichenketten. Der neue Test rendert deshalb das Bauteil und prüft alle vier Zustände in beiden Sprachen. Dazu ein Test, der heute Nacht hochgegangen ist: PortalInvoicesTest verbot die Zeichenkette '01.08.2026' — das Datum aus einer alten Attrappe. Heute ist der 1. August 2026, und die echten Rechnungen des Tests tragen das Ausstellungsdatum von heute. Eine Zusicherung, die ein Datum verbietet, verbietet auch den Tag, an dem es echt wird. Was die Attrappe ausmachte, war ihr Satz, und den prüft der Nachbartest über 'Nächste Abbuchung' — stabil, weil er nirgends sonst entsteht. 2235 Tests grün. Co-Authored-By: Claude Opus 5 --- VERSION | 2 +- lang/de/dashboard.php | 13 ++++++++ lang/en/dashboard.php | 13 ++++++++ tests/Feature/Billing/PortalInvoicesTest.php | 14 ++++++-- tests/Feature/ProgressStepperTest.php | 34 ++++++++++++++++++++ 5 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 tests/Feature/ProgressStepperTest.php diff --git a/VERSION b/VERSION index ad60f23..a295bf2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.82 +1.3.83 diff --git a/lang/de/dashboard.php b/lang/de/dashboard.php index fce3254..6c75aec 100644 --- a/lang/de/dashboard.php +++ b/lang/de/dashboard.php @@ -1,6 +1,19 @@ [ + 'pending' => 'Ausstehend', + 'running' => 'Läuft', + 'done' => 'Erledigt', + 'failed' => 'Fehlgeschlagen', + ], + 'traffic' => [ 'title' => 'Datenvolumen diesen Monat', 'label' => 'Datenvolumen', diff --git a/lang/en/dashboard.php b/lang/en/dashboard.php index f36fc69..213e2b2 100644 --- a/lang/en/dashboard.php +++ b/lang/en/dashboard.php @@ -1,6 +1,19 @@ [ + 'pending' => 'Pending', + 'running' => 'Running', + 'done' => 'Done', + 'failed' => 'Failed', + ], + 'traffic' => [ 'title' => 'Data transfer this month', 'label' => 'Data transfer', diff --git a/tests/Feature/Billing/PortalInvoicesTest.php b/tests/Feature/Billing/PortalInvoicesTest.php index 393a865..1ae2cb2 100644 --- a/tests/Feature/Billing/PortalInvoicesTest.php +++ b/tests/Feature/Billing/PortalInvoicesTest.php @@ -62,10 +62,18 @@ it('lists the invoices this customer was actually issued, with their real number ->assertSee('214,80') // Newest first: the one somebody came here to fetch is the last one. ->assertViewHas('invoices', fn ($invoices) => $invoices->first()->is($newer)) - // And nothing invented. These were the mock's, and its prefix belongs to + // And nothing invented. This was the mock's, and its prefix belongs to // no configured series. - ->assertDontSee('CP-2026-0007') - ->assertDontSee('01.08.2026'); + // + // Hier stand einmal auch `assertDontSee('01.08.2026')` — das Datum aus + // der Attrappe. Es hat am 1. August 2026 zugeschlagen: die echten + // Rechnungen dieses Tests tragen das Ausstellungsdatum von heute, also + // war die Zeichenkette plötzlich zu Recht auf der Seite. Eine + // Zusicherung, die ein Datum verbietet, verbietet auch den Tag, an dem + // es echt wird. Was die Attrappe wirklich ausmachte, war ihr Satz, und + // den prüft der Test „says nothing at all about a next charge" nebenan + // über 'Nächste Abbuchung' — stabil, weil er nirgends sonst entsteht. + ->assertDontSee('CP-2026-0007'); }); it('never shows one customer another customer\'s invoice', function () { diff --git a/tests/Feature/ProgressStepperTest.php b/tests/Feature/ProgressStepperTest.php new file mode 100644 index 0000000..1cc7143 --- /dev/null +++ b/tests/Feature/ProgressStepperTest.php @@ -0,0 +1,34 @@ +setLocale($locale); + + $html = Blade::render( + '', + ['steps' => [['label' => 'Ein Schritt', 'state' => $state]]], + ); + + expect($html)->not->toContain('dashboard.step_state') + ->and($html)->toContain(__('dashboard.step_state.'.$state)); + } +})->with(['pending', 'running', 'done', 'failed']);