ldc-laravel-base-project/tests/Back/StaticPageTest.php
2024-07-26 13:25:48 +02:00

76 lines
2.5 KiB
PHP

<?php
namespace Tests\Back;
use App\Enums\Users\RoleEnum;
use App\Models\StaticPage;
use App\Models\User as AuthModel;
use Tests\TestCase;
class StaticPageTest extends TestCase
{
/**
* TESTS GUEST CANNOT ACCESS VIEWS.
*/
/** @return void */
public function testGuestCannotAccessStaticPagesIndexView(): void
{
$response = $this->get(route(
config('unit-tests.route.prefix') .
'static_pages.' .
config('unit-tests.view.resources-index')
));
$response->assertRedirect(route(config('unit-tests.route.prefix') . 'login'));
}
/** @return void */
public function testGuestCannotAccessStaticPagesReadView(): void
{
$model = StaticPage::factory()->createOneQuietly();
$response = $this->get(route(
config('unit-tests.route.prefix') .
'static_pages.' .
config('unit-tests.view.resources-read'),
$model->getKey()
));
$response->assertRedirect(route(config('unit-tests.route.prefix') . 'login'));
}
/**
* TESTS USER CONCEPTOR ACCESS VIEWS.
*/
/** @return void */
public function testUserConceptorCanAccessStaticPagesIndexView(): void
{
$authModel = AuthModel::factory()->createOneQuietly();
$authModel->update(['role' => RoleEnum::conceptor]);
$response = $this->actingAs($authModel, 'backend')->get(
route(config('unit-tests.route.prefix') . 'static_pages.' . config('unit-tests.view.resources-index'))
);
$response->assertSuccessful();
$response->assertViewIs(
config('unit-tests.view.prefix') .
'pages.static_pages.' .
config('unit-tests.view.resources-index')
);
}
/** @return void */
public function testUserConceptorCanAccessStaticPagesReadView(): void
{
$authModel = AuthModel::factory()->createOneQuietly();
$authModel->update(['role' => RoleEnum::conceptor]);
$model = StaticPage::factory()->createOneQuietly();
$response = $this->actingAs($authModel, 'backend')->get(
route(config('unit-tests.route.prefix') . 'static_pages.' . config('unit-tests.view.resources-read'), $model)
);
$response->assertSuccessful();
$response->assertViewIs(
config('unit-tests.view.prefix') .
'pages.static_pages.' .
config('unit-tests.view.resources-read')
);
}
}