X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/15d7161428832d2ebf12061f69fff780cdb10550..596f7314cdaa6cf6bb1b5ba582523ba3d3eef7e1:/tests/ThemeTest.php diff --git a/tests/ThemeTest.php b/tests/ThemeTest.php index f6706595b..a7a46521a 100644 --- a/tests/ThemeTest.php +++ b/tests/ThemeTest.php @@ -256,6 +256,40 @@ class ThemeTest extends TestCase $this->assertEquals($otherPage->id, $args[3]->id); } + public function test_event_routes_register_web_and_web_auth() + { + $functionsContent = <<<'END' +get('/cat', fn () => 'cat')->name('say.cat'); +}); +Theme::listen(ThemeEvents::ROUTES_REGISTER_WEB_AUTH, function (Router $router) { + $router->get('/dog', fn () => 'dog')->name('say.dog'); +}); +END; + + $this->usingThemeFolder(function () use ($functionsContent) { + + $functionsFile = theme_path('functions.php'); + file_put_contents($functionsFile, $functionsContent); + + $app = $this->createApplication(); + /** @var \Illuminate\Routing\Router $router */ + $router = $app->get('router'); + + /** @var \Illuminate\Routing\Route $catRoute */ + $catRoute = $router->getRoutes()->getRoutesByName()['say.cat']; + $this->assertEquals(['web'], $catRoute->middleware()); + + /** @var \Illuminate\Routing\Route $dogRoute */ + $dogRoute = $router->getRoutes()->getRoutesByName()['say.dog']; + $this->assertEquals(['web', 'auth'], $dogRoute->middleware()); + }); + } + public function test_add_social_driver() { Theme::addSocialDriver('catnet', [