From 1c918cd559fa7fab7323d5cc2f2ffbf84e324449 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Thu, 3 Jul 2025 15:10:23 -0500 Subject: [PATCH] Create tests for app/Models/NominationEnsemble --- app/Models/NominationEnsemble.php | 3 +- .../app/Models/NominationEnsembleTest.php | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 tests/Feature/app/Models/NominationEnsembleTest.php diff --git a/app/Models/NominationEnsemble.php b/app/Models/NominationEnsemble.php index fec8ef7..2829e4a 100644 --- a/app/Models/NominationEnsemble.php +++ b/app/Models/NominationEnsemble.php @@ -2,13 +2,12 @@ namespace App\Models; -use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; class NominationEnsemble extends Model { - use HasFactory; + protected $guarded = []; protected function casts(): array { diff --git a/tests/Feature/app/Models/NominationEnsembleTest.php b/tests/Feature/app/Models/NominationEnsembleTest.php new file mode 100644 index 0000000..2f2f1ba --- /dev/null +++ b/tests/Feature/app/Models/NominationEnsembleTest.php @@ -0,0 +1,29 @@ +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); +});