Skip to content

Commit 0ae7e6a

Browse files
committed
test: Add test for routes containing {locale}
1 parent 4bde417 commit 0ae7e6a

File tree

1 file changed

+48
-3
lines changed

1 file changed

+48
-3
lines changed

tests/system/Commands/Utilities/Routes/FilterFinderTest.php

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,13 @@ protected function setUp(): void
5252
$this->moduleConfig->enabled = false;
5353
}
5454

55+
protected function tearDown(): void
56+
{
57+
parent::tearDown();
58+
59+
$this->resetServices();
60+
}
61+
5562
private function createRouteCollection(array $routes = []): RouteCollection
5663
{
5764
$collection = new RouteCollection(Services::locator(), $this->moduleConfig, new Routing());
@@ -137,7 +144,7 @@ public function testFindGlobalsFiltersWithRedirectRoute(): void
137144
public function testFindGlobalsAndRouteFilters(): void
138145
{
139146
$collection = $this->createRouteCollection();
140-
$collection->get('admin', ' AdminController::index', ['filter' => 'honeypot']);
147+
$collection->get('admin', 'AdminController::index', ['filter' => 'honeypot']);
141148
$router = $this->createRouter($collection);
142149
$filters = $this->createFilters();
143150

@@ -155,7 +162,7 @@ public function testFindGlobalsAndRouteFilters(): void
155162
public function testFindGlobalsAndRouteClassnameFilters(): void
156163
{
157164
$collection = $this->createRouteCollection();
158-
$collection->get('admin', ' AdminController::index', ['filter' => InvalidChars::class]);
165+
$collection->get('admin', 'AdminController::index', ['filter' => InvalidChars::class]);
159166
$router = $this->createRouter($collection);
160167
$filters = $this->createFilters();
161168

@@ -173,7 +180,7 @@ public function testFindGlobalsAndRouteClassnameFilters(): void
173180
public function testFindGlobalsAndRouteMultipleFilters(): void
174181
{
175182
$collection = $this->createRouteCollection();
176-
$collection->get('admin', ' AdminController::index', ['filter' => ['honeypot', InvalidChars::class]]);
183+
$collection->get('admin', 'AdminController::index', ['filter' => ['honeypot', InvalidChars::class]]);
177184
$router = $this->createRouter($collection);
178185
$filters = $this->createFilters();
179186

@@ -314,4 +321,42 @@ public function testFilterOrderWithOldFilterOrder()
314321
];
315322
$this->assertSame($expected, $filters);
316323
}
324+
325+
public function testFindFiltersWithAnyLocales(): void
326+
{
327+
$collection = $this->createRouteCollection();
328+
$collection->useSupportedLocalesOnly(false);
329+
$collection->get('{locale}/admin/(:segment)', 'AdminController::index/$1');
330+
Services::injectMock('routes', $collection);
331+
$router = $this->createRouter($collection);
332+
$filters = $this->createFilters();
333+
$finder = new FilterFinder($router, $filters);
334+
335+
$filters = $finder->find('{locale}/admin/settings');
336+
337+
$expected = [
338+
'before' => ['csrf'],
339+
'after' => ['toolbar'],
340+
];
341+
$this->assertSame($expected, $filters);
342+
}
343+
344+
public function testFindFiltersWithSupportedLocalesOnly(): void
345+
{
346+
$collection = $this->createRouteCollection();
347+
$collection->useSupportedLocalesOnly(true);
348+
$collection->get('{locale}/admin/(:segment)', 'AdminController::index/$1');
349+
Services::injectMock('routes', $collection);
350+
$router = $this->createRouter($collection);
351+
$filters = $this->createFilters();
352+
$finder = new FilterFinder($router, $filters);
353+
354+
$filters = $finder->find('{locale}/admin/settings');
355+
356+
$expected = [
357+
'before' => ['!csrf'],
358+
'after' => ['!toolbar'],
359+
];
360+
$this->assertSame($expected, $filters);
361+
}
317362
}

0 commit comments

Comments
 (0)