34 lines
1 KiB
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,
|
|
);
|
|
}
|
|
}
|