ldc-boutique-cnc-sable/tests/Unit/Domain/Models/ValueObjects/EmployeeUpsertDataTest.php
Jérémy Munsch 8b96ce90be
test(casts): add tests for EmployeeSitesCast functionality
test(casts): add tests for ShopperEstablishmentCodeCast functionality

test(casts): add tests for ShopperServiceCodeCast functionality

test(casts): add tests for ShopperSiteCodeCast functionality

test(dto): update ProductDtoTest to include additional fields

test(dto): update SettingDtoTest to remove arcadiaSites assertions

test(events): update AnOrderHasBeenPlacedTest to use value objects

test(entities): update OrderTest to use value objects for employee details

test(value-objects): update EmployeeUpsertDataTest to use value objects

test(pagination): update PaginationTest to access value properties

test(services): update AppCustomerAuthServiceTest to use CrmHashcode

test(services): update CrmServiceTest to use CrmHashcode for customer retrieval
2026-10-27 09:58:45 +01:00

49 lines
1.5 KiB
PHP

<?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;
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');
// WHEN
$data = new EmployeeUpsertData(
$matricule,
'Jean',
'Dupont',
$etablissement,
$service,
$site,
$start,
null,
$code
);
// 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)
->and($data->startDate)->toBe($start)
->and($data->endDate)->toBeNull()
->and($data->code)->toBe($code);
});
});