76 lines
2.4 KiB
PHP
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')
|
|
);
|
|
}
|
|
}
|