From 10a17510196c32a63c768303d8ec75d18c152bb0 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Fri, 12 Jul 2024 11:16:57 -0500 Subject: [PATCH] Test AuditionService --- app/Services/AuditionService.php | 1 - .../Feature/Services/AuditionServiceTest.php | 31 ++++++++++++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/app/Services/AuditionService.php b/app/Services/AuditionService.php index 1b18787..d542ef5 100644 --- a/app/Services/AuditionService.php +++ b/app/Services/AuditionService.php @@ -53,7 +53,6 @@ class AuditionService return Cache::remember($cacheKey, 10, function () use ($audition) { $this->validateAudition($audition); - return $audition->judges; }); } diff --git a/tests/Feature/Services/AuditionServiceTest.php b/tests/Feature/Services/AuditionServiceTest.php index 5bbf8c0..c707ed0 100644 --- a/tests/Feature/Services/AuditionServiceTest.php +++ b/tests/Feature/Services/AuditionServiceTest.php @@ -3,21 +3,24 @@ /** @noinspection PhpUnhandledExceptionInspection */ use App\Models\Audition; +use App\Models\Room; +use App\Models\User; use App\Services\AuditionService; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\App; uses(RefreshDatabase::class); +// getSubscores() it('throws an exception when an invalid mode is requested', function () { - #$auditionService = new \App\Services\AuditionService(); + //$auditionService = new \App\Services\AuditionService(); $auditionService = App::make(AuditionService::class); $this->expectException(\App\Exceptions\AuditionServiceException::class); $auditionService->getSubscores(new Audition(), 'invalid_mode'); }); it('throws an exception when an invalid sort is requested', function () { // Arrange - #$auditionService = new \App\Services\AuditionService(); + //$auditionService = new \App\Services\AuditionService(); $auditionService = App::make(AuditionService::class); $this->expectException(\App\Exceptions\AuditionServiceException::class); // Act @@ -25,7 +28,7 @@ it('throws an exception when an invalid sort is requested', function () { }); it('throws an exception when an invalid audition is provided', function () { // Arrange - #$auditionService = new \App\Services\AuditionService(); + //$auditionService = new \App\Services\AuditionService(); $auditionService = App::make(AuditionService::class); $this->expectException(\App\Exceptions\AuditionServiceException::class); $auditionService->getSubscores(new Audition(), 'seating', 'tiebreak'); @@ -35,10 +38,28 @@ it('throws an exception when an invalid audition is provided', function () { it('gets subscores for an audition', function () { // Arrange loadSampleAudition(); - #$auditionService = new \App\Services\AuditionService(); + //$auditionService = new \App\Services\AuditionService(); $auditionService = App::make(AuditionService::class); // Act $subscores = $auditionService->getSubscores(Audition::find(1000), 'seating', 'tiebreak'); // Assert - expect($subscores->toArray())->toBe(Audition::find(1000)->scoringGuide->subscores->where('for_seating', true)->sortBy('tiebreak_order')->toArray()); + expect($subscores->toArray())->toBe(Audition::find(1000)->scoringGuide->subscores->where('for_seating', + true)->sortBy('tiebreak_order')->toArray()); +}); +// getJudges() +it('gets judges for an audition', function () { + loadSampleAudition(); + $auditionService = App::make(AuditionService::class); + $judge = User::factory()->create(); + $notJudge = User::factory()->create(); + Room::find(1000)->addJudge($judge); + $testValue = $auditionService->getJudges(Audition::find(1000)); + $test = $testValue->contains(function ($item) use ($judge) { + return $item->id === $judge->id; + }); + $negativeTest = $testValue->contains(function ($item) use ($notJudge) { + return $item->id === $notJudge->id; + }); + expect($test)->toBeTrue(); + expect($negativeTest)->toBeFalse(); });