57 lines
1.8 KiB
PHP
57 lines
1.8 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* Test 14: USt- und Brutto-Anzeige im Buchungsformular
|
|
*
|
|
* Prüft, dass die notwendigen HTML-Elemente und die JS-Funktion
|
|
* updateNettoAnzeige() im Beleg-Detailview vorhanden sind.
|
|
*/
|
|
class UstBruttoAnzeigeTest extends TestCase
|
|
{
|
|
protected string $testName = 'Test 14: USt- und Brutto-Anzeige im Buchungsformular';
|
|
|
|
public function run(): void
|
|
{
|
|
$viewFile = __DIR__ . '/../src/Views/belege/detail.php';
|
|
$content = file_get_contents($viewFile);
|
|
|
|
$this->assert(
|
|
$content !== false,
|
|
'View-Datei belege/detail.php ist lesbar'
|
|
);
|
|
|
|
$this->assert(
|
|
str_contains($content, 'id="betrag_netto_input"'),
|
|
'Nettobetrag-Input hat id="betrag_netto_input"'
|
|
);
|
|
|
|
$this->assert(
|
|
str_contains($content, 'id="ust_brutto_anzeige"'),
|
|
'Anzeigebereich id="ust_brutto_anzeige" vorhanden'
|
|
);
|
|
|
|
$this->assert(
|
|
str_contains($content, 'oninput="updateNettoAnzeige()"'),
|
|
'Nettobetrag-Input ruft updateNettoAnzeige() bei Eingabe auf'
|
|
);
|
|
|
|
$this->assert(
|
|
str_contains($content, 'function updateNettoAnzeige()'),
|
|
'JavaScript-Funktion updateNettoAnzeige() ist definiert'
|
|
);
|
|
|
|
$this->assert(
|
|
str_contains($content, 'updateNettoAnzeige();updateNettoAnzeige()') === false
|
|
&& str_contains($content, 'updateNettoAnzeige()'),
|
|
'updateNettoAnzeige() wird an mehreren Stellen aufgerufen'
|
|
);
|
|
|
|
// Prüfe dass USt-Satz-Änderung auch updateNettoAnzeige aufruft
|
|
$this->assert(
|
|
str_contains($content, 'updateSteuerartVisibility();updateNettoAnzeige()'),
|
|
'USt-Satz-Änderung löst auch updateNettoAnzeige() aus'
|
|
);
|
|
}
|
|
}
|