GroupModelTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace Tests\Unit;
  3. use App\Events\GroupDeleted;
  4. use App\Events\GroupDeleting;
  5. use App\Models\Group;
  6. use App\Models\TwoFAccount;
  7. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  8. use Tests\ModelTestCase;
  9. /**
  10. * @covers \App\Models\Group
  11. */
  12. class GroupModelTest extends ModelTestCase
  13. {
  14. /**
  15. * @test
  16. */
  17. public function test_model_configuration()
  18. {
  19. $this->runConfigurationAssertions(
  20. new Group(),
  21. ['name'],
  22. ['created_at', 'updated_at'],
  23. ['*'],
  24. [],
  25. ['id' => 'int', 'twofaccounts_count' => 'integer'],
  26. [
  27. 'deleting' => GroupDeleting::class,
  28. 'deleted' => GroupDeleted::class,
  29. ]
  30. );
  31. }
  32. /**
  33. * @test
  34. */
  35. public function test_twofaccounts_relation()
  36. {
  37. $group = new Group();
  38. $accounts = $group->twofaccounts();
  39. $this->assertHasManyRelation($accounts, $group, new TwoFAccount());
  40. }
  41. /**
  42. * @test
  43. */
  44. public function test_user_relation()
  45. {
  46. $model = new Group;
  47. $relation = $model->user();
  48. $this->assertInstanceOf(BelongsTo::class, $relation);
  49. $this->assertEquals('user_id', $relation->getForeignKeyName());
  50. }
  51. }