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

<?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);
});