Files
D1041231009-WebGIS-PovertyMap/tests/Feature/AuthTest.php
T
2026-06-02 19:16:57 +07:00

50 lines
1.5 KiB
PHP

<?php
namespace Tests\Feature;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Spatie\Permission\Models\Role;
use Tests\TestCase;
class AuthTest extends TestCase
{
use RefreshDatabase;
protected function setUp(): void
{
parent::setUp();
$this->app->make(\Spatie\Permission\PermissionRegistrar::class)->forgetCachedPermissions();
}
public function test_users_table_exists_and_user_can_be_created(): void
{
$user = User::create([
'name' => 'Test Admin',
'email' => 'admin@test.com',
'password' => bcrypt('password'),
]);
$this->assertDatabaseHas('users', ['email' => 'admin@test.com']);
}
public function test_roles_seeder_creates_four_roles(): void
{
$this->artisan('db:seed', ['--class' => 'RolesAndAdminSeeder']);
$this->assertDatabaseHas('roles', ['name' => 'administrator']);
$this->assertDatabaseHas('roles', ['name' => 'pengurus_ibadah']);
$this->assertDatabaseHas('roles', ['name' => 'petugas_pendataan']);
$this->assertDatabaseHas('roles', ['name' => 'pemangku_kebijakan']);
}
public function test_roles_seeder_creates_default_admin(): void
{
$this->artisan('db:seed', ['--class' => 'RolesAndAdminSeeder']);
$user = User::where('email', 'admin@webgis.local')->first();
$this->assertNotNull($user);
$this->assertTrue($user->hasRole('administrator'));
}
}