auditionadmin/tests/Feature/Services/EntryServiceTest.php

25 lines
831 B
PHP

<?php
use App\Models\Audition;
use App\Models\Entry;
use App\Services\EntryService;
use Carbon\Carbon;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\App;
uses(RefreshDatabase::class);
beforeEach(function() {
$this->entryService = App::make(EntryService::class);
});
it('checks if an entry is late', function() {
$openAudition = Audition::factory()->create(['entry_deadline' => Carbon::tomorrow()]);
$closedAudition = Audition::factory()->create(['entry_deadline' => Carbon::yesterday()]);
$onTime = Entry::factory()->create(['audition_id' => $openAudition->id]);
$late = Entry::factory()->create(['audition_id' => $closedAudition]);
expect($this->entryService->isEntryLate($onTime))->toBeFalse();
expect($this->entryService->isEntryLate($late))->toBeTrue();
});