Create tests for app/Models/NominationEnsemble
This commit is contained in:
parent
d9bcae5d2a
commit
1c918cd559
|
|
@ -2,13 +2,12 @@
|
||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
|
|
||||||
class NominationEnsemble extends Model
|
class NominationEnsemble extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
protected $guarded = [];
|
||||||
|
|
||||||
protected function casts(): array
|
protected function casts(): array
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?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);
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue