/** * @test */ public function testGroup() { $app = $this->app; $me = $this; $middlewares = [function () { return '1'; }, function () { return '2'; }]; $this->app->group('/api/v1', $middlewares[0], $middlewares[1], function () use($app, $me, $middlewares) { $route = $app->options('/path/:id', function ($id) { /* do nothing */ }); $me->assertEquals('/api/v1/path/:id', $route->getPath()); //Inner routes $app->group('/details', function () use($app, $me, $middlewares) { $inner = $app->options('/path/:id', function ($id) { /* do nothing */ }); $me->assertEquals('/api/v1/details/path/:id', $inner->getPath()); //Route must have group's middlewares $me->assertContains($middlewares[0], $inner->getMidleware()); $me->assertContains($middlewares[1], $inner->getMidleware()); }); }); }