| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- namespace Tests\Unit\Models;
- use App\Models\Dictionary\Area;
- use App\Models\Dictionary\District;
- use App\Models\Schedule;
- use App\Models\User;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Foundation\Testing\RefreshDatabase;
- use Tests\TestCase;
- class ScheduleTest extends TestCase
- {
- use RefreshDatabase;
- protected $seed = true;
- private function makeSchedule(array $attrs = []): Schedule
- {
- $brigadier = User::factory()->create();
- return Schedule::factory()->create(array_merge(['brigadier_id' => $brigadier->id], $attrs));
- }
- public function test_belongs_to_district(): void
- {
- $schedule = $this->makeSchedule();
- $this->assertInstanceOf(District::class, $schedule->district);
- }
- public function test_belongs_to_area(): void
- {
- $schedule = $this->makeSchedule();
- $this->assertInstanceOf(Area::class, $schedule->area);
- }
- public function test_brigadier_belongs_to_user(): void
- {
- $brigadier = User::factory()->create();
- $schedule = Schedule::factory()->create(['brigadier_id' => $brigadier->id]);
- $this->assertInstanceOf(User::class, $schedule->brigadier);
- $this->assertEquals($brigadier->id, $schedule->brigadier->id);
- }
- public function test_relations_exist(): void
- {
- $schedule = $this->makeSchedule();
- $this->assertInstanceOf(BelongsTo::class, $schedule->district());
- $this->assertInstanceOf(BelongsTo::class, $schedule->area());
- $this->assertInstanceOf(BelongsTo::class, $schedule->brigadier());
- }
- public function test_can_create_schedule(): void
- {
- $schedule = $this->makeSchedule();
- $this->assertNotNull($schedule->id);
- $this->assertDatabaseHas('schedules', ['id' => $schedule->id]);
- }
- }
|