Add scopes to models #10

Merged
okorpheus merged 5 commits from add-scopes-to-models into master 2024-07-01 04:00:24 +00:00
2 changed files with 32 additions and 0 deletions
Showing only changes of commit 1b67fbdfeb - Show all commits

View File

@ -191,4 +191,14 @@ class Audition extends Model
{
$query->where('entry_deadline', '>=', Carbon::now());
}
public function scopeForSeating(Builder $query): void
{
$query->where('for_seating', 1);
}
public function scopeForAdvancement(Builder $query): void
{
$query->where('for_advancement', 1);
}
}

View File

@ -15,3 +15,25 @@ test('only returns open auditions for open scope', function () {
->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);
});