From d12b735acf4c046a1ef34a3506a329e52e51b2d3 Mon Sep 17 00:00:00 2001 From: Dany Ral Date: Wed, 17 Oct 2018 00:44:49 +0200 Subject: [PATCH] fix(lumen): undefined method on getRoutes() on lumen 5.5 (#5230) --- src/Codeception/Module/Lumen.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Codeception/Module/Lumen.php b/src/Codeception/Module/Lumen.php index c924c5501c..2e3e42f54c 100644 --- a/src/Codeception/Module/Lumen.php +++ b/src/Codeception/Module/Lumen.php @@ -220,16 +220,18 @@ public function amOnRoute($routeName, $params = []) */ private function getRouteByName($routeName) { - foreach ($this->app->getRoutes() as $route) { - if ($route['method'] != 'GET') { - return; - } - + if (isset($this->app->router) && $this->app->router instanceof \Laravel\Lumen\Routing\Router) { + $router = $this->app->router; + } else { + // backward compatibility with lumen 5.3 + $router = $this->app; + } + foreach ($router->getRoutes() as $route) { if (isset($route['action']['as']) && $route['action']['as'] == $routeName) { return $route; } } - + $this->fail("Route with name '$routeName' does not exist"); return null; }