<?php declare(strict_types=1); namespace Engelsystem\Test\Unit\Config; use FastRoute\RouteCollector; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class RoutesFileTest extends TestCase { /** * @doesNotPerformAssertions * @coversNothing */ public function testLoadRoutes(): void { /** @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): void { /** * @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'; } }