Routes config: Added test to ensure that routes are cacheable in production
This commit is contained in:
parent
a02f5e61be
commit
64c4743f57
|
@ -0,0 +1,43 @@
|
|||
<?php
|
||||
|
||||
namespace Engelsystem\Test\Unit\Config;
|
||||
|
||||
use FastRoute\RouteCollector;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class RoutesFileTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @doesNotPerformAssertions
|
||||
*/
|
||||
public function testLoadRoutes()
|
||||
{
|
||||
/** @var RouteCollector|MockObject $route */
|
||||
$route = $this->getMockBuilder(RouteCollector::class)
|
||||
->disableOriginalConstructor()
|
||||
->onlyMethods(['addRoute'])
|
||||
->getMock();
|
||||
|
||||
$this->doesNotPerformAssertions();
|
||||
/** @see RouteCollector::addRoute */
|
||||
$route->expects($this->any())
|
||||
->method('addRoute')
|
||||
->willReturnCallback(function ($httpMethod, $route, $handler) {
|
||||
/**
|
||||
* @param string|string[] $httpMethod
|
||||
* @param string $route
|
||||
* @param mixed $handler
|
||||
*/
|
||||
if (is_string($handler) || (is_array($handler) && is_string($handler[0]))) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->fail(
|
||||
sprintf('The route "%s %s" is not cacheable', implode(',', (array)$httpMethod), $route)
|
||||
);
|
||||
});
|
||||
|
||||
require __DIR__ . '/../../../config/routes.php';
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue