57 lines
2.1 KiB
PHP
57 lines
2.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Steuerkram\Models\Customer;
|
|
|
|
class CustomerCcEmailsTest extends TestCase
|
|
{
|
|
protected string $testName = 'Test 48: Zusätzliche CC-E-Mail-Adressen pro Kunde';
|
|
|
|
public function run(): void
|
|
{
|
|
// Kunde mit zwei CC-Adressen anlegen
|
|
$id = Customer::create([
|
|
'nachname' => 'CC-Test',
|
|
'strasse' => 'Musterweg 1',
|
|
'plz' => '12345',
|
|
'ort' => 'Musterstadt',
|
|
'email' => 'haupt@example.com',
|
|
'email_cc1' => 'kopie1@example.com',
|
|
'email_cc2' => 'kopie2@example.com',
|
|
]);
|
|
$this->assertGreaterThan(0, $id, 'Kunde angelegt');
|
|
|
|
$customer = Customer::find($id);
|
|
$this->assertEquals('kopie1@example.com', $customer['email_cc1'], 'CC1 gespeichert');
|
|
$this->assertEquals('kopie2@example.com', $customer['email_cc2'], 'CC2 gespeichert');
|
|
|
|
// Leere CC-Felder werden als NULL gespeichert
|
|
Customer::update($id, [
|
|
'nachname' => 'CC-Test',
|
|
'strasse' => 'Musterweg 1',
|
|
'plz' => '12345',
|
|
'ort' => 'Musterstadt',
|
|
'email' => 'haupt@example.com',
|
|
'email_cc1' => '',
|
|
'email_cc2' => ' ',
|
|
]);
|
|
$customer = Customer::find($id);
|
|
$this->assert($customer['email_cc1'] === null, 'Leeres CC1 wird NULL');
|
|
$this->assert($customer['email_cc2'] === null, 'Whitespace-CC2 wird NULL');
|
|
|
|
// CC1 aktualisieren, mit Trimmen
|
|
Customer::update($id, [
|
|
'nachname' => 'CC-Test',
|
|
'strasse' => 'Musterweg 1',
|
|
'plz' => '12345',
|
|
'ort' => 'Musterstadt',
|
|
'email' => 'haupt@example.com',
|
|
'email_cc1' => ' neu@example.com ',
|
|
'email_cc2' => 'kopie2@example.com',
|
|
]);
|
|
$customer = Customer::find($id);
|
|
$this->assertEquals('neu@example.com', $customer['email_cc1'], 'CC1 getrimmt aktualisiert');
|
|
$this->assertEquals('kopie2@example.com', $customer['email_cc2'], 'CC2 aktualisiert');
|
|
}
|
|
}
|