ContractTest.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace Tests\Unit\Models;
  3. use App\Models\Contract;
  4. use Illuminate\Foundation\Testing\RefreshDatabase;
  5. use Tests\TestCase;
  6. class ContractTest extends TestCase
  7. {
  8. use RefreshDatabase;
  9. protected $seed = true;
  10. public function test_can_create_contract(): void
  11. {
  12. $contract = Contract::factory()->create();
  13. $this->assertNotNull($contract->id);
  14. $this->assertDatabaseHas('contracts', ['id' => $contract->id]);
  15. }
  16. public function test_default_sort_by_constant(): void
  17. {
  18. $this->assertEquals('contract_date', Contract::DEFAULT_SORT_BY);
  19. }
  20. public function test_fillable_fields(): void
  21. {
  22. $contract = new Contract();
  23. $this->assertContains('year', $contract->getFillable());
  24. $this->assertContains('contract_number', $contract->getFillable());
  25. $this->assertContains('contract_date', $contract->getFillable());
  26. }
  27. public function test_for_year_factory_state(): void
  28. {
  29. $contract = Contract::factory()->forYear(2025)->create();
  30. $this->assertEquals(2025, $contract->year);
  31. }
  32. }