diff options
Diffstat (limited to 'tests/Unit/Models')
-rw-r--r-- | tests/Unit/Models/Shifts/ScheduleShiftTest.php | 41 | ||||
-rw-r--r-- | tests/Unit/Models/Shifts/ScheduleTest.php | 37 |
2 files changed, 78 insertions, 0 deletions
diff --git a/tests/Unit/Models/Shifts/ScheduleShiftTest.php b/tests/Unit/Models/Shifts/ScheduleShiftTest.php new file mode 100644 index 00000000..b615f90d --- /dev/null +++ b/tests/Unit/Models/Shifts/ScheduleShiftTest.php @@ -0,0 +1,41 @@ +<?php + +namespace Engelsystem\Test\Unit\Models\Shifts; + +use Engelsystem\Models\Shifts\Schedule; +use Engelsystem\Models\Shifts\ScheduleShift; +use Engelsystem\Test\Unit\HasDatabase; +use Engelsystem\Test\Unit\TestCase; +use Illuminate\Database\Eloquent\Relations\BelongsTo; + +class ScheduleShiftTest extends TestCase +{ + use HasDatabase; + + /** + * @covers \Engelsystem\Models\Shifts\ScheduleShift::schedule + */ + public function testScheduleShifts() + { + $schedule = new Schedule(['url' => 'https://lorem.ipsum/schedule.xml']); + $schedule->save(); + + $scheduleShift = new ScheduleShift(['shift_id' => 1, 'guid' => 'a']); + $scheduleShift->schedule()->associate($schedule); + $scheduleShift->save(); + + /** @var ScheduleShift $scheduleShift */ + $scheduleShift = (new ScheduleShift())->find(1); + $this->assertInstanceOf(BelongsTo::class, $scheduleShift->schedule()); + $this->assertEquals($schedule->id, $scheduleShift->schedule->id); + } + + /** + * Prepare test + */ + protected function setUp(): void + { + parent::setUp(); + $this->initDatabase(); + } +} diff --git a/tests/Unit/Models/Shifts/ScheduleTest.php b/tests/Unit/Models/Shifts/ScheduleTest.php new file mode 100644 index 00000000..34988afd --- /dev/null +++ b/tests/Unit/Models/Shifts/ScheduleTest.php @@ -0,0 +1,37 @@ +<?php + +namespace Engelsystem\Test\Unit\Models\Shifts; + +use Engelsystem\Models\Shifts\Schedule; +use Engelsystem\Models\Shifts\ScheduleShift; +use Engelsystem\Test\Unit\HasDatabase; +use Engelsystem\Test\Unit\TestCase; + +class ScheduleTest extends TestCase +{ + use HasDatabase; + + /** + * @covers \Engelsystem\Models\Shifts\Schedule::scheduleShifts + */ + public function testScheduleShifts() + { + $schedule = new Schedule(['url' => 'https://foo.bar/schedule.xml']); + $schedule->save(); + + (new ScheduleShift(['shift_id' => 1, 'schedule_id' => $schedule->id, 'guid' => 'a']))->save(); + (new ScheduleShift(['shift_id' => 2, 'schedule_id' => $schedule->id, 'guid' => 'b']))->save(); + (new ScheduleShift(['shift_id' => 3, 'schedule_id' => $schedule->id, 'guid' => 'c']))->save(); + + $this->assertCount(3, $schedule->scheduleShifts); + } + + /** + * Prepare test + */ + protected function setUp(): void + { + parent::setUp(); + $this->initDatabase(); + } +} |