GroupModelTest.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 PHPUnit\Framework\Attributes\CoversClass;
  9. use Tests\ModelTestCase;
  10. /**
  11. * GroupModelTest test class
  12. */
  13. #[CoversClass(Group::class)]
  14. class GroupModelTest extends ModelTestCase
  15. {
  16. /**
  17. * @test
  18. */
  19. public function test_model_configuration()
  20. {
  21. $this->runConfigurationAssertions(
  22. new Group(),
  23. ['name'],
  24. ['created_at', 'updated_at'],
  25. ['*'],
  26. [],
  27. [
  28. 'id' => 'int',
  29. 'twofaccounts_count' => 'integer',
  30. 'user_id' => 'integer',
  31. ],
  32. [
  33. 'deleting' => GroupDeleting::class,
  34. 'deleted' => GroupDeleted::class,
  35. ]
  36. );
  37. }
  38. /**
  39. * @test
  40. */
  41. public function test_twofaccounts_relation()
  42. {
  43. $group = new Group();
  44. $accounts = $group->twofaccounts();
  45. $this->assertHasManyRelation($accounts, $group, new TwoFAccount());
  46. }
  47. /**
  48. * @test
  49. */
  50. public function test_user_relation()
  51. {
  52. $model = new Group;
  53. $relation = $model->user();
  54. $this->assertInstanceOf(BelongsTo::class, $relation);
  55. $this->assertEquals('user_id', $relation->getForeignKeyName());
  56. }
  57. }