From d026d41715ad622fc9c35286086e50da5ab94558 Mon Sep 17 00:00:00 2001 From: EwelinaLasowy Date: Thu, 10 Feb 2022 11:18:29 +0100 Subject: [PATCH] #22 - fix --- database/seeders/DatabaseSeeder.php | 46 +++++++++++++-------------- tests/Feature/VacationRequestTest.php | 8 +++++ 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index aad2d61..0788740 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -73,29 +73,29 @@ class DatabaseSeeder extends Seeder $yearPeriods = YearPeriod::all(); -// foreach ($users as $user) { -// VacationRequest::factory() -// ->count(10) -// ->for($user) -// ->sequence(fn() => [ -// "year_period_id" => $yearPeriods->random()->id, -// ]) -// ->afterCreating(function (VacationRequest $vacationRequest): void { -// $days = app(VacationDaysCalculator::class)->calculateDays( -// $vacationRequest->yearPeriod, -// $vacationRequest->from, -// $vacationRequest->to, -// ); -// -// foreach ($days as $day) { -// $vacationRequest->vacations()->create([ -// "date" => $day, -// "user_id" => $vacationRequest->user->id, -// ]); -// } -// }) -// ->create(); -// } + foreach ($users as $user) { + VacationRequest::factory() + ->count(10) + ->for($user) + ->sequence(fn() => [ + "year_period_id" => $yearPeriods->random()->id, + ]) + ->afterCreating(function (VacationRequest $vacationRequest): void { + $days = app(VacationDaysCalculator::class)->calculateDays( + $vacationRequest->yearPeriod, + $vacationRequest->from, + $vacationRequest->to, + ); + + foreach ($days as $day) { + $vacationRequest->vacations()->create([ + "date" => $day, + "user_id" => $vacationRequest->user->id, + ]); + } + }) + ->create(); + } } protected function generateAvatarsForUsers(Collection $users): void diff --git a/tests/Feature/VacationRequestTest.php b/tests/Feature/VacationRequestTest.php index b4cf9fe..94416da 100644 --- a/tests/Feature/VacationRequestTest.php +++ b/tests/Feature/VacationRequestTest.php @@ -32,6 +32,7 @@ class VacationRequestTest extends FeatureTestCase { $user = User::factory()->createQuietly(); $currentYearPeriod = YearPeriod::current(); + VacationRequest::factory() ->count(10) ->for($user) @@ -47,6 +48,7 @@ class VacationRequestTest extends FeatureTestCase ->has("requests.data", 10), ); } + public function testUserCanCreateVacationRequest(): void { $user = User::factory()->createQuietly(); @@ -73,6 +75,7 @@ class VacationRequestTest extends FeatureTestCase "comment" => "Comment for the vacation request.", ]); } + public function testTechnicalApproverCanApproveVacationRequest(): void { $user = User::factory()->createQuietly(); @@ -95,6 +98,7 @@ class VacationRequestTest extends FeatureTestCase "state" => VacationRequestState::WAITING_FOR_ADMINISTRATIVE, ]); } + public function testAdministrativeApproverCanApproveVacationRequest(): void { $user = User::factory()->createQuietly(); @@ -117,6 +121,7 @@ class VacationRequestTest extends FeatureTestCase "state" => VacationRequestState::APPROVED, ]); } + public function testTechnicalApproverCanRejectVacationRequest(): void { $user = User::factory()->createQuietly(); @@ -208,6 +213,7 @@ class VacationRequestTest extends FeatureTestCase "vacationRequest" => trans("You have pending vacation request in this range."), ]); } + public function testUserCannotCreateVacationRequestIfHeHasApprovedVacationRequestInThisRange(): void { $user = User::factory()->createQuietly(); @@ -235,6 +241,7 @@ class VacationRequestTest extends FeatureTestCase "vacationRequest" => trans("You have approved vacation request in this range."), ]); } + public function testUserCannotCreateVacationRequestWithEndDatePriorToTheStartDate(): void { $user = User::factory()->createQuietly(); @@ -250,6 +257,7 @@ class VacationRequestTest extends FeatureTestCase "vacationRequest" => trans("Vacation needs minimum one day."), ]); } + public function testUserCannotCreateVacationRequestAtTheTurnOfTheYear(): void { $user = User::factory()->createQuietly();