'ZahlungszielTestKunde', 'strasse' => 'Musterstr. 1', 'plz' => '12345', 'ort' => 'Musterstadt', 'land' => 'DE', 'payment_days' => 30, ]); $customer = Customer::find($customerId); $this->assert($customer !== false, 'Kunde wurde angelegt'); $this->assertEquals(30, (int)$customer['payment_days'], 'Kundendatensatz enthält payment_days=30'); // Simuliere Controller-Logik: customer_id per GET → payment_days vorbelegen $preCustomerId = $customerId; $invoiceDefaults = [ 'rechnungs_datum' => date('Y-m-d'), 'leistungszeitraum_von' => date('Y-m-01'), 'leistungszeitraum_bis' => date('Y-m-t'), ]; if ($preCustomerId > 0) { $c = Customer::find($preCustomerId); if ($c) { $invoiceDefaults['customer_id'] = $preCustomerId; $invoiceDefaults['payment_days'] = $c['payment_days']; } } $this->assertEquals($customerId, $invoiceDefaults['customer_id'], 'customer_id in Rechnungsdefaults gesetzt'); $this->assertEquals(30, (int)$invoiceDefaults['payment_days'], 'payment_days aus Kundendaten vorbelegt'); // Ohne vorausgewählten Kunden bleibt payment_days ungesetzt $defaultsOhneKunde = [ 'rechnungs_datum' => date('Y-m-d'), ]; $this->assert(!isset($defaultsOhneKunde['payment_days']), 'payment_days ohne Kunden nicht gesetzt'); // Anderer Kunde mit abweichendem Zahlungsziel $customer2Id = Customer::create([ 'nachname' => 'ZahlungszielTestKunde2', 'strasse' => 'Testgasse 2', 'plz' => '54321', 'ort' => 'Testdorf', 'land' => 'DE', 'payment_days' => 7, ]); $c2 = Customer::find($customer2Id); $this->assertEquals(7, (int)$c2['payment_days'], 'Zweiter Kunde hat payment_days=7'); } }