Fix #testsuite: Test 78 misst die Nummernkreis-Freigabe unabhängig vom Monatswechsel

This commit is contained in:
fds2610-bot 2026-08-02 20:33:13 +02:00
parent ed58490fc2
commit 3616e09fc0

View file

@ -19,6 +19,7 @@ class NummernkreisFreigabeTest extends TestCase
public function run(): void
{
$this->nummernkreisAufAktuellenMonat();
$this->rechnungsnummerWirdFreigegeben();
$this->aeltereRechnungsnummerBleibtVerbraucht();
$this->belegnummerWirdFreigegeben();
@ -114,6 +115,25 @@ class NummernkreisFreigabeTest extends TestCase
// ── Hilfsfunktionen ─────────────────────────────────────────────────────
/**
* Setzt den gespeicherten Monat des Rechnungsnummernkreises auf den
* laufenden Monat.
*
* Ohne das misst der Test am Monatswechsel vorbei: Steht in
* company_settings noch ein früherer Monat, beginnt generateRechnungsNr()
* den Zähler planmäßig wieder bei 1, und die Deltas dieses Tests
* (vorher + 1, danach wieder vorher) gehen nicht auf. Der Monatsreset ist
* gewolltes Verhalten und hat mit der hier geprüften Freigabe nichts zu
* tun. Die Änderung fällt mit dem Transaktions-Rollback wieder weg.
*/
private function nummernkreisAufAktuellenMonat(): void
{
\Steuerkram\Database::execute(
'UPDATE company_settings SET invoice_nr_year=?, invoice_nr_month=? WHERE id=1',
[(int)date('Y'), (int)date('n')]
);
}
private function invoiceNrNext(): int
{
$row = \Steuerkram\Database::fetchOne('SELECT invoice_nr_next FROM company_settings WHERE id=1');