|
6 | 6 |
|
7 | 7 | use PHPUnit\Framework\TestCase; |
8 | 8 | use Symfony\Component\Finder\Exception\DirectoryNotFoundException; |
9 | | -use Symfony\Component\Finder\Finder; |
10 | 9 | use Symfony\Component\Routing\Route; |
11 | 10 | use Symfony\Component\Routing\RouteCollection; |
12 | 11 | use Tobion\OpenApiSymfonyRouting\OpenApiRouteLoader; |
13 | 12 | use Tobion\OpenApiSymfonyRouting\Tests\Fixtures\Basic\Controller as BasicController; |
14 | 13 | use Tobion\OpenApiSymfonyRouting\Tests\Fixtures\FormatSuffix\Controller as FormatSuffixController; |
15 | 14 | use Tobion\OpenApiSymfonyRouting\Tests\Fixtures\OperationId\Controller as OperationIdController; |
16 | 15 | use Tobion\OpenApiSymfonyRouting\Tests\Fixtures\PathParameterPattern\Controller as PathParameterPatternController; |
| 16 | +use Tobion\OpenApiSymfonyRouting\Tests\Fixtures\Priority\Controller as PriorityController; |
17 | 17 | use Tobion\OpenApiSymfonyRouting\Tests\Fixtures\SeveralClasses\BarController; |
18 | 18 | use Tobion\OpenApiSymfonyRouting\Tests\Fixtures\SeveralClasses\FooController; |
19 | 19 | use Tobion\OpenApiSymfonyRouting\Tests\Fixtures\SeveralClasses\SubNamespace\SubController; |
@@ -97,6 +97,31 @@ public function testPathParameterPattern(): void |
97 | 97 | self::assertEquals($expectedRoutes, $routes); |
98 | 98 | } |
99 | 99 |
|
| 100 | + public function testPriority(): void |
| 101 | + { |
| 102 | + $routeLoader = OpenApiRouteLoader::fromDirectories(__DIR__.'/Fixtures/Priority'); |
| 103 | + |
| 104 | + $routes = $routeLoader->__invoke(); |
| 105 | + |
| 106 | + $expectedRoutes = new RouteCollection(); |
| 107 | + $expectedRoutes->add( |
| 108 | + self::FIXTURES_ROUTE_NAME_PREFIX.'priority_foo', |
| 109 | + (new Route('/foo'))->setMethods('GET')->setDefault('_controller', PriorityController::class.'::foo') |
| 110 | + ); |
| 111 | + $expectedRoutes->add( |
| 112 | + self::FIXTURES_ROUTE_NAME_PREFIX.'priority_catchall', |
| 113 | + (new Route('/{catchall}'))->setMethods('GET')->setDefault('_controller', PriorityController::class.'::catchall'), |
| 114 | + -100 |
| 115 | + ); |
| 116 | + $expectedRoutes->add( |
| 117 | + self::FIXTURES_ROUTE_NAME_PREFIX.'priority_bar', |
| 118 | + (new Route('/bar'))->setMethods('GET')->setDefault('_controller', PriorityController::class.'::bar'), |
| 119 | + 10 |
| 120 | + ); |
| 121 | + |
| 122 | + self::assertEquals($expectedRoutes, $routes); |
| 123 | + } |
| 124 | + |
100 | 125 | public function testSeveralClasses(): void |
101 | 126 | { |
102 | 127 | $routeLoader = OpenApiRouteLoader::fromDirectories(__DIR__.'/Fixtures/SeveralClasses'); |
|
0 commit comments