[#339] Ajout d'une page listant les règles de calcules (#5)
Some checks failed
Auto Tag Develop / tag (push) Has been cancelled
Some checks failed
Auto Tag Develop / tag (push) Has been cancelled
| Numéro du ticket | Titre du ticket | |------------------|-----------------| | #339 | Ajout d'une page listant les règles de calcules | ## Description de la PR [#339] Ajout d'une page listant les règles de calcules ## Modification du .env ## Check list - [ ] Pas de régression - [x] TU/TI/TF rédigée - [x] TU/TI/TF OK - [ ] CHANGELOG modifié Reviewed-on: #5 Co-authored-by: tristan <tristan@yuno.malio.fr> Co-committed-by: tristan <tristan@yuno.malio.fr>
This commit was merged in pull request #5.
This commit is contained in:
@@ -15,6 +15,7 @@ use App\Enum\HalfDay;
|
||||
use App\Repository\Contract\AbsenceReadRepositoryInterface;
|
||||
use App\Repository\Contract\EmployeeScopedRepositoryInterface;
|
||||
use App\Repository\Contract\WorkHourReadRepositoryInterface;
|
||||
use App\Service\Contracts\EmployeeContractResolver;
|
||||
use App\Service\WorkHours\AbsenceSegmentsResolver;
|
||||
use App\Service\WorkHours\WorkedHoursCreditPolicy;
|
||||
use App\State\WorkHourWeeklySummaryProvider;
|
||||
@@ -58,7 +59,8 @@ final class WorkHourWeeklySummaryProviderTest extends TestCase
|
||||
$this->workHourRepository,
|
||||
$this->absenceRepository,
|
||||
new AbsenceSegmentsResolver(),
|
||||
new WorkedHoursCreditPolicy()
|
||||
new WorkedHoursCreditPolicy($this->buildResolverStub()),
|
||||
$this->buildResolverStub()
|
||||
);
|
||||
|
||||
$this->expectException(AccessDeniedHttpException::class);
|
||||
@@ -117,7 +119,8 @@ final class WorkHourWeeklySummaryProviderTest extends TestCase
|
||||
$this->workHourRepository,
|
||||
$this->absenceRepository,
|
||||
new AbsenceSegmentsResolver(),
|
||||
new WorkedHoursCreditPolicy()
|
||||
new WorkedHoursCreditPolicy($this->buildResolverStub()),
|
||||
$this->buildWeeklyResolverStub($employees)
|
||||
);
|
||||
|
||||
$result = $provider->provide(new Get());
|
||||
@@ -167,4 +170,50 @@ final class WorkHourWeeklySummaryProviderTest extends TestCase
|
||||
$property->setAccessible(true);
|
||||
$property->setValue($entity, $id);
|
||||
}
|
||||
|
||||
private function buildResolverStub(): EmployeeContractResolver
|
||||
{
|
||||
$resolver = $this->createStub(EmployeeContractResolver::class);
|
||||
$resolver
|
||||
->method('resolveForEmployeeAndDate')
|
||||
->willReturnCallback(static fn (Employee $employee): ?Contract => $employee->getContract())
|
||||
;
|
||||
$resolver
|
||||
->method('resolveForEmployeesAndDays')
|
||||
->willReturn([])
|
||||
;
|
||||
|
||||
return $resolver;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param list<Employee> $employees
|
||||
*/
|
||||
private function buildWeeklyResolverStub(array $employees): EmployeeContractResolver
|
||||
{
|
||||
$resolver = $this->createStub(EmployeeContractResolver::class);
|
||||
$resolver
|
||||
->method('resolveForEmployeeAndDate')
|
||||
->willReturnCallback(static fn (Employee $employee): ?Contract => $employee->getContract())
|
||||
;
|
||||
$resolver
|
||||
->method('resolveForEmployeesAndDays')
|
||||
->willReturnCallback(static function (array $scopedEmployees, array $days): array {
|
||||
$map = [];
|
||||
foreach ($scopedEmployees as $employee) {
|
||||
$employeeId = $employee->getId();
|
||||
if (!$employeeId) {
|
||||
continue;
|
||||
}
|
||||
foreach ($days as $day) {
|
||||
$map[$employeeId][$day] = $employee->getContract();
|
||||
}
|
||||
}
|
||||
|
||||
return $map;
|
||||
})
|
||||
;
|
||||
|
||||
return $resolver;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user