auditionadmin/tests/Feature/app/Models/NominationEnsembleTest.php

30 lines
862 B
PHP

<?php
use App\Models\NominationEnsemble;
use App\Models\NominationEnsembleEntry;
use App\Models\Student;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
beforeEach(function () {
$this->ensemble = NominationEnsemble::create([
'name' => 'Test Ensemble',
'entry_deadline' => '2024-01-01',
'minimum_grade' => '5',
'maximum_grade' => '15',
]);
});
it('returns its entries', function () {
$student = Student::factory()->create();
NominationEnsembleEntry::create([
'student_id' => $student->id,
'nomination_ensemble_id' => $this->ensemble->id,
'data' => json_encode(['test' => 'test']),
]);
expect($this->ensemble->entries()->count())->toEqual(1)
->and($this->ensemble->entries()->first())->toBeInstanceOf(NominationEnsembleEntry::class);
});