$belegNr, 'filename' => 'test-rechnung.pdf', 'storage_path' => 'static/uploads/test/test-rechnung.pdf', 'mime_type' => 'application/pdf', 'file_hash' => hash('sha256', $belegNr), 'beleg_datum' => $datum, 'eingangs_datum' => $datum, 'rechnungs_nr' => 'RE-TEST-001', 'betrag_brutto' => 119.00, 'belegtyp' => 'Eingangsrechnung', 'notes' => 'Automatisch erstellt (Test)', ]); $this->assertGreaterThan(0, $id, 'Beleg wurde in der DB angelegt (ID > 0)'); // Beleg via find() abrufbar $beleg = \Steuerkram\Models\Beleg::find($id); $this->assertNotEmpty($beleg, 'Beleg::find() liefert einen Datensatz'); $this->assertEquals($belegNr, $beleg['beleg_nr'] ?? null, 'Belegnummer stimmt überein'); $this->assertEquals('Eingangsrechnung', $beleg['belegtyp'] ?? null, 'Belegtyp ist Eingangsrechnung'); // Beleg erscheint in Beleg::all() (ohne Jahr-Filter, um sicher zu finden) $result = \Steuerkram\Models\Beleg::all([], 1, 999); $found = false; foreach ($result['rows'] as $row) { if ((int)$row['id'] === $id) { $found = true; break; } } $this->assert($found, 'Beleg erscheint in Beleg::all() (Belegübersicht)'); $this->assertGreaterThan(0, $result['total'], 'Belegübersicht enthält mindestens 1 Eintrag'); // Betrag korrekt gespeichert $this->assertEquals(119.00, (float)($beleg['betrag_brutto'] ?? 0), 'Betrag brutto korrekt gespeichert'); } }