2FAuth/tests/Unit/GroupModelTest.php

59 lines
1.4 KiB
PHP
Raw Permalink Normal View History

2021-11-30 17:39:33 +01:00
<?php
namespace Tests\Unit;
use App\Events\GroupDeleted;
2022-11-22 15:15:52 +01:00
use App\Events\GroupDeleting;
2021-12-02 13:15:53 +01:00
use App\Models\Group;
use App\Models\TwoFAccount;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
2023-08-01 11:28:27 +02:00
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\Test;
2021-11-30 17:39:33 +01:00
use Tests\ModelTestCase;
/**
2023-08-01 11:28:27 +02:00
* GroupModelTest test class
2021-11-30 17:39:33 +01:00
*/
2023-08-01 11:28:27 +02:00
#[CoversClass(Group::class)]
2021-11-30 17:39:33 +01:00
class GroupModelTest extends ModelTestCase
{
#[Test]
2021-11-30 17:39:33 +01:00
public function test_model_configuration()
{
$this->runConfigurationAssertions(
2024-09-26 23:50:01 +02:00
new Group,
2021-11-30 17:39:33 +01:00
['name'],
['created_at', 'updated_at'],
['*'],
[],
[
'id' => 'int',
'twofaccounts_count' => 'integer',
2024-03-29 09:42:54 +01:00
'user_id' => 'integer',
],
[
'deleting' => GroupDeleting::class,
2023-03-10 22:59:46 +01:00
'deleted' => GroupDeleted::class,
]
2021-11-30 17:39:33 +01:00
);
}
#[Test]
public function test_twofaccounts_relation()
2021-11-30 17:39:33 +01:00
{
2024-09-26 23:50:01 +02:00
$group = new Group;
2021-11-30 17:39:33 +01:00
$accounts = $group->twofaccounts();
2024-09-26 23:50:01 +02:00
$this->assertHasManyRelation($accounts, $group, new TwoFAccount);
2021-11-30 17:39:33 +01:00
}
#[Test]
public function test_user_relation()
{
2023-03-10 22:59:46 +01:00
$model = new Group;
$relation = $model->user();
$this->assertInstanceOf(BelongsTo::class, $relation);
$this->assertEquals('user_id', $relation->getForeignKeyName());
}
2022-11-22 15:15:52 +01:00
}