40 lines
1.1 KiB
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);
|
|
});
|