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