Enhance test coverage

This commit is contained in:
Bubka
2023-03-18 17:33:43 +01:00
parent c717e6b279
commit 9c5f18bb46
17 changed files with 844 additions and 73 deletions

View 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);
}
}