mirror of
https://github.com/Bubka/2FAuth.git
synced 2025-08-19 01:46:03 +02:00
Enhance test coverage
This commit is contained in:
54
tests/Feature/Http/Middlewares/AdminOnlyMiddlewareTest.php
Normal file
54
tests/Feature/Http/Middlewares/AdminOnlyMiddlewareTest.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature\Http\Middlewares;
|
||||
|
||||
use App\Http\Middleware\AdminOnly;
|
||||
use App\Models\User;
|
||||
use Illuminate\Auth\Access\AuthorizationException;
|
||||
use Illuminate\Http\Request;
|
||||
use Tests\FeatureTestCase;
|
||||
|
||||
class AdminOnlyMiddlewareTest extends FeatureTestCase
|
||||
{
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public function test_users_are_rejected()
|
||||
{
|
||||
$this->expectException(AuthorizationException::class);
|
||||
|
||||
/**
|
||||
* @var \App\Models\User|\Illuminate\Contracts\Auth\Authenticatable
|
||||
*/
|
||||
$user = User::factory()->create();
|
||||
|
||||
$this->actingAs($user);
|
||||
|
||||
$request = Request::create('/admin', 'GET');
|
||||
$middleware = new AdminOnly;
|
||||
|
||||
$response = $middleware->handle($request, function () {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public function test_admins_pass()
|
||||
{
|
||||
/**
|
||||
* @var \App\Models\User|\Illuminate\Contracts\Auth\Authenticatable
|
||||
*/
|
||||
$admin = User::factory()->administrator()->create();
|
||||
|
||||
$this->actingAs($admin);
|
||||
|
||||
$request = Request::create('/admin', 'GET');
|
||||
$middleware = new AdminOnly;
|
||||
|
||||
$response = $middleware->handle($request, function () {
|
||||
});
|
||||
|
||||
$this->assertNull($response);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user