1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
<?php
namespace Illuminate\Tests\Integration\Routing;
use Illuminate\Routing\Controllers\HasMiddleware;
use Illuminate\Routing\Controllers\Middleware;
use Illuminate\Support\Facades\Route;
use Orchestra\Testbench\TestCase;
class HasMiddlewareTest extends TestCase
{
public function test_has_middleware_is_respected()
{
$route = Route::get('/', [HasMiddlewareTestController::class, 'index']);
$this->assertEquals($route->controllerMiddleware(), ['all', 'only-index']);
$route = Route::get('/', [HasMiddlewareTestController::class, 'show']);
$this->assertEquals($route->controllerMiddleware(), ['all', 'except-index']);
}
}
class HasMiddlewareTestController implements HasMiddleware
{
public static function middleware()
{
return [
new Middleware('all'),
(new Middleware('only-index'))->only('index'),
(new Middleware('except-index'))->except('index'),
];
}
public function index()
{
//
}
public function show()
{
}
}
|