auditionadmin/tests/Feature/Pages/Admin/DashboardTest.php

22 lines
600 B
PHP

<?php
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use function Pest\Laravel\actingAs;
use function Pest\Laravel\get;
uses(RefreshDatabase::class);
it('only shows for an admin user', function () {
// Arrange
$adminUser = User::factory()->admin()->create();
$nonAdminUser = User::factory()->create();
// Act & Assert
get(route('dashboard'))->assertRedirect(route('home'));
actingAs($adminUser);
get(route('admin.dashboard'))->assertOk();
actingAs($nonAdminUser);
get(route('admin.dashboard'))->assertRedirect(route('dashboard'));
});