ldc-boutique-cnc-sable/tests/Unit/Domain/Models/ValueObjects/EmployeeUpsertDataTest.php

50 lines
1.5 KiB
PHP
Raw Permalink Normal View History

2026-06-14 21:32:07 +02:00
<?php
declare(strict_types=1);
namespace Tests\Unit\Domain\Models\ValueObjects;
use Carbon\CarbonImmutable;
use Domain\Models\ValueObjects\Code;
use Domain\Models\ValueObjects\EmployeeUpsertData;
use Domain\Models\ValueObjects\Matricule;
use Domain\Models\ValueObjects\ShopperEstablishmentCode;
use Domain\Models\ValueObjects\ShopperServiceCode;
use Domain\Models\ValueObjects\ShopperSiteCode;
2026-06-14 21:32:07 +02:00
describe('EmployeeUpsertData', function (): void {
it('can be instantiated', function (): void {
// GIVEN
$matricule = new Matricule('1234567');
$code = new Code('ABCDEFGH12');
$start = CarbonImmutable::now();
$etablissement = new ShopperEstablishmentCode('ETAB01');
$service = new ShopperServiceCode('101');
$site = new ShopperSiteCode('SITEA');
2026-06-14 21:32:07 +02:00
// WHEN
$data = new EmployeeUpsertData(
$matricule,
'Jean',
'Dupont',
$etablissement,
$service,
$site,
2026-06-14 21:32:07 +02:00
$start,
null,
$code
);
2026-06-14 21:32:07 +02:00
// THEN
expect($data->matricule)->toBe($matricule)
->and($data->firstname)->toBe('Jean')
->and($data->lastname)->toBe('Dupont')
->and($data->etablissement)->toBe($etablissement)
->and($data->service)->toBe($service)
->and($data->site)->toBe($site)
2026-06-14 21:32:07 +02:00
->and($data->startDate)->toBe($start)
->and($data->endDate)->toBeNull()
->and($data->code)->toBe($code);
});
});