ldc-arcadia-api/tests/Support/Mothers/EmployeeMother.php

34 lines
1 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Support\Mothers;
use Domain\Models\Entities\Employee;
use Domain\Models\ValueObjects\Employees\ArcadiaEmployeeId;
use Domain\Models\ValueObjects\EstablishmentCode;
use Domain\Models\ValueObjects\ServiceId;
use Domain\Models\ValueObjects\SiteId;
final class EmployeeMother
{
public static function create(
?string $employeeNumber = null,
?string $lastName = null,
?string $firstName = null,
): Employee {
return Employee::hydrate(
publicEmployeeNumber: new ArcadiaEmployeeId($employeeNumber ?? '1234567'),
lastName: $lastName ?? 'Dupont',
firstName: $firstName ?? 'Jean',
startDate: new \DateTimeImmutable('2024-01-01'),
endDate: null,
plannedEndDate: null,
establishment: new EstablishmentCode('01'),
site: new SiteId('01'),
service: new ServiceId('001'),
createdAt: new \DateTimeImmutable('2024-01-01 08:00:00'),
updatedAt: null,
);
}
}