You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.1 KiB
35 lines
1.1 KiB
<?php
|
|
|
|
use App\Domains\Identity\Models\User;
|
|
use App\Domains\Identity\Enums\RoleType;
|
|
use Database\Seeders\RoleSeeder;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
|
|
test('role index page can be rendered', function () {
|
|
$this->seed(RoleSeeder::class);
|
|
$user = User::factory()->create();
|
|
$user->assignRole(RoleType::SYSTEM_ADMIN->value);
|
|
$response = $this->actingAs($user)->get(route('roles.index'));
|
|
|
|
$response->assertStatus(200);
|
|
$response->assertSee('role-table');
|
|
});
|
|
|
|
test('role datatable returns data in json format', function () {
|
|
$this->seed(RoleSeeder::class);
|
|
$user = User::factory()->create();
|
|
$user->assignRole(RoleType::SYSTEM_ADMIN->value);
|
|
|
|
$response = $this->actingAs($user)
|
|
->withHeaders(['X-Requested-With' => 'XMLHttpRequest'])
|
|
->getJson(route('roles.index', ['draw' => 1]));
|
|
|
|
$response->assertStatus(200)
|
|
->assertJsonStructure([
|
|
'draw',
|
|
'recordsTotal',
|
|
'recordsFiltered',
|
|
'data',
|
|
])
|
|
->assertJsonPath('data.0.name', RoleType::SYSTEM_ADMIN->value);
|
|
});
|
|
|