35 lines
1.2 KiB
PHP
35 lines
1.2 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Blade;
|
|
|
|
/**
|
|
* Unter jedem Schritt steht ein Wort, kein Schlüssel.
|
|
*
|
|
* `dashboard.step_state.done` stand wörtlich unter jedem Schritt — im
|
|
* Adminbereich UND im Kundenportal, wo derselbe Stepper jemanden durch die
|
|
* Einrichtung seiner Cloud begleitet.
|
|
*
|
|
* Zwei Gründe, warum das durchkam, und beide erklären, warum dieser Test so
|
|
* aussieht, wie er aussieht:
|
|
*
|
|
* - Die Paritätsprüfung aus R16 vergleicht Deutsch mit Englisch. Der Schlüssel
|
|
* fehlte in BEIDEN, also waren sie sich einig.
|
|
* - Der Aufruf ist zusammengesetzt (`__('dashboard.step_state.'.$state)`).
|
|
* Keine Suche nach festen Zeichenketten findet ihn.
|
|
*
|
|
* Bleibt das, was das Bauteil wirklich ausgibt.
|
|
*/
|
|
it('names every step state instead of printing its key', function (string $state) {
|
|
foreach (['de', 'en'] as $locale) {
|
|
app()->setLocale($locale);
|
|
|
|
$html = Blade::render(
|
|
'<x-ui.progress-stepper :steps="$steps" />',
|
|
['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']);
|