78 lines
2.5 KiB
PHP
78 lines
2.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* Die Anmeldeseite (und jede andere Seite im schlichten Rahmen) trägt dieselbe
|
|
* Marke wie die Seitenleiste nach dem Anmelden: Coinstack-Symbol und
|
|
* zweifarbiger Schriftzug.
|
|
*/
|
|
class AnmeldeMarkeTest extends TestCase
|
|
{
|
|
protected string $testName = 'Test 64: Marke der Anmeldeseite';
|
|
|
|
public function run(): void
|
|
{
|
|
$this->anmeldungZeigtSymbolUndSchriftzug();
|
|
$this->stilblattGleichtDerSeitenleiste();
|
|
}
|
|
|
|
private function anmeldungZeigtSymbolUndSchriftzug(): void
|
|
{
|
|
$seite = $this->rendereAnmeldung();
|
|
|
|
$this->assert(
|
|
str_contains($seite, '<div class="anmelde-marke">'),
|
|
'Die Anmeldeseite hat eine eigene Marke'
|
|
);
|
|
$this->assert(
|
|
str_contains($seite, '<img src="/static/coinstack.png" alt="" class="marken-symbol">'),
|
|
'Die Marke führt das Coinstack-Symbol wie die Seitenleiste'
|
|
);
|
|
$this->assert(
|
|
str_contains($seite, '<span class="marken-text">Finanz<span>manager</span></span>'),
|
|
'Der Schriftzug ist wie in der Seitenleiste zweigeteilt'
|
|
);
|
|
$this->assert(
|
|
!str_contains($seite, 'class="marke gross"'),
|
|
'Die alte Marke im Stil einer Statusmarke ist verschwunden'
|
|
);
|
|
}
|
|
|
|
private function stilblattGleichtDerSeitenleiste(): void
|
|
{
|
|
$css = (string)file_get_contents(dirname(__DIR__) . '/public/static/app.css');
|
|
|
|
$this->assert(
|
|
(bool)preg_match('/\.anmelde-marke\s*\{[^}]*font-weight:\s*700;/', $css),
|
|
'Der Schriftzug ist fett wie in der Seitenleiste'
|
|
);
|
|
$this->assert(
|
|
(bool)preg_match('/\.anmelde-marke\s*\{[^}]*display:\s*flex;[^}]*align-items:\s*center;/', $css),
|
|
'Symbol und Schriftzug stehen nebeneinander auf einer Linie'
|
|
);
|
|
$this->assert(
|
|
(bool)preg_match('/\.anmelde-marke \.marken-text span\s*\{\s*color:\s*var\(--akzent-schrift\);/', $css),
|
|
'Die zweite Worthälfte trägt die Akzentfarbe'
|
|
);
|
|
$this->assert(
|
|
!preg_match('/\.marke\.gross\s*\{/', $css),
|
|
'Die alte Regel für die große Statusmarke ist entfernt'
|
|
);
|
|
}
|
|
|
|
private function rendereAnmeldung(): string
|
|
{
|
|
$csrfToken = 'test';
|
|
$titel = 'Anmeldung';
|
|
$flash = [];
|
|
|
|
ob_start();
|
|
try {
|
|
include dirname(__DIR__) . '/src/Views/auth/login.php';
|
|
} finally {
|
|
$html = (string)ob_get_clean();
|
|
}
|
|
return $html;
|
|
}
|
|
}
|