ldc-legaulois/tests/Back/DiscountTest.php
2024-10-24 08:45:29 +00:00

76 lines
2.4 KiB
PHP

<?php
namespace Tests\Back;
use App\Enums\Users\RoleEnum;
use App\Models\Discount;
use App\Models\User as AuthModel;
use Tests\TestCase;
class DiscountTest extends TestCase
{
/**
* TESTS GUEST CANNOT ACCESS VIEWS.
*/
/** @return void */
public function testGuestCannotAccessDiscountsIndexView(): void
{
$response = $this->get(route(
config('unit-tests.route.prefix') .
'discounts.' .
config('unit-tests.view.resources-index')
));
$response->assertRedirect(route(config('unit-tests.route.prefix') . 'login'));
}
/** @return void */
public function testGuestCannotAccessDiscountsReadView(): void
{
$model = Discount::factory()->createOneQuietly();
$response = $this->get(route(
config('unit-tests.route.prefix') .
'discounts.' .
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 testUserConceptorCanAccessDiscountsIndexView(): void
{
$authModel = AuthModel::factory()->createOneQuietly();
$authModel->update(['role' => RoleEnum::conceptor]);
$response = $this->actingAs($authModel, 'backend')->get(
route(config('unit-tests.route.prefix') . 'discounts.' . config('unit-tests.view.resources-index'))
);
$response->assertSuccessful();
$response->assertViewIs(
config('unit-tests.view.prefix') .
'pages.discounts.' .
config('unit-tests.view.resources-index')
);
}
/** @return void */
public function testUserConceptorCanAccessDiscountsReadView(): void
{
$authModel = AuthModel::factory()->createOneQuietly();
$authModel->update(['role' => RoleEnum::conceptor]);
$model = Discount::factory()->createOneQuietly();
$response = $this->actingAs($authModel, 'backend')->get(
route(config('unit-tests.route.prefix') . 'discounts.' . config('unit-tests.view.resources-read'), $model)
);
$response->assertSuccessful();
$response->assertViewIs(
config('unit-tests.view.prefix') .
'pages.discounts.' .
config('unit-tests.view.resources-read')
);
}
}