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' ); } }