auditionadmin/tests/Feature/Models/AuditionTest.php

40 lines
1.1 KiB
PHP

<?php
use App\Models\Audition;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
test('only returns open auditions for open scope', function () {
// Arrange
$openAudition = Audition::factory()->create();
$closedAudition = Audition::factory()->closed()->create();
// Act & Assert
expect(Audition::open()->get())
->toHaveCount(1)
->first()->id->toEqual($openAudition->id);
});
it('only returns auditions for seating with forSeating scope', function () {
// Arrange
Audition::factory(['for_seating' => 0])->create();
$seatingAudition = Audition::factory()->create();
// Act & Assert
expect(Audition::forSeating()->get())
->toHaveCount(1)
->first()->id->toEqual($seatingAudition->id);
});
it('only returns auditions for advancement with for forAdvancement scope', function () {
// Arrange
Audition::factory(['for_advancement' => 0])->create();
$advancementAudition = Audition::factory()->create();
// Act & Assert
expect(Audition::forAdvancement()->get())
->toHaveCount(1)
->first()->id->toEqual($advancementAudition->id);
});