diff options
Diffstat (limited to 'tests/Unit/Concerns/HasMiddlewareTest.php')
| -rw-r--r-- | tests/Unit/Concerns/HasMiddlewareTest.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/Unit/Concerns/HasMiddlewareTest.php b/tests/Unit/Concerns/HasMiddlewareTest.php new file mode 100644 index 0000000..8aaac15 --- /dev/null +++ b/tests/Unit/Concerns/HasMiddlewareTest.php @@ -0,0 +1,35 @@ +<?php + +declare(strict_types=1); + +use Lightscale\Router\Enums\HttpMethod; +use Lightscale\Router\Group; +use Lightscale\Router\Route; +use Lightscale\Router\Router; +use Lightscale\Router\Test\Utils\TestMiddleware; + +$classes = [ + Router::class => fn () => new Router(), + Group::class => fn () => new Group(new Router(), null), + Route::class => fn () => new Route(HttpMethod::Get, fn () => null), +]; + +test(':dataset has middleware', function ($inst) { + $inst->addMiddleware($mw1 = new TestMiddleware()); + + expect($inst->getMiddleware()) + ->toHaveCount(1) + ->{0}->toBe($mw1); +})->with($classes); + +test(':dataset adds array of middleware', function ($inst) { + $inst->addMiddleware([ + $mw1 = new TestMiddleware(), + $mw2 = new TestMiddleware(), + ]); + + expect($inst->getMiddleware()) + ->toHaveCount(2) + ->{0}->toBe($mw1) + ->{1}->toBe($mw2); +})->with($classes); |
