66 lines
2.2 KiB
PHP
66 lines
2.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* Test 14: USt- und Brutto-Anzeige im Buchungsformular
|
|
*
|
|
* Prüft, dass die notwendigen HTML-Elemente (Teil-View _buchungsform.php)
|
|
* und die JS-Funktion updateNettoAnzeige() (static/js/beleg-form.js)
|
|
* 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/_buchungsform.php';
|
|
$jsFile = __DIR__ . '/../public/static/js/beleg-form.js';
|
|
$viewContent = file_get_contents($viewFile);
|
|
$jsContent = file_get_contents($jsFile);
|
|
$content = $viewContent . "\n" . $jsContent;
|
|
|
|
$this->assert(
|
|
$viewContent !== false,
|
|
'Teil-View belege/_buchungsform.php ist lesbar'
|
|
);
|
|
|
|
$this->assert(
|
|
$jsContent !== false,
|
|
'JS-Datei static/js/beleg-form.js 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'
|
|
);
|
|
}
|
|
}
|