test(wpmc S4): Router::route skip-condition invariants
This commit is contained in:
@@ -35,4 +35,60 @@ final class RouterTest extends TestCase
|
|||||||
|
|
||||||
self::assertContains('town', $result);
|
self::assertContains('town', $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function test_route_skips_when_is_admin(): void
|
||||||
|
{
|
||||||
|
\Brain\Monkey\Functions\expect('get_terms')->never();
|
||||||
|
\Brain\Monkey\Functions\when('is_admin')->justReturn(true);
|
||||||
|
|
||||||
|
Router::route();
|
||||||
|
|
||||||
|
self::assertArrayNotHasKey('wp_query', $GLOBALS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_route_skips_when_current_town_is_null(): void
|
||||||
|
{
|
||||||
|
\Brain\Monkey\Functions\expect('url_to_postid')->never();
|
||||||
|
\Brain\Monkey\Functions\when('is_admin')->justReturn(false);
|
||||||
|
$_SERVER['REQUEST_URI'] = '/something-not-a-city/';
|
||||||
|
\Brain\Monkey\Functions\when('get_terms')->justReturn([10 => 'spb']);
|
||||||
|
\Brain\Monkey\Functions\when('get_field')->justReturn(false);
|
||||||
|
|
||||||
|
Router::route();
|
||||||
|
|
||||||
|
self::assertArrayNotHasKey('wp_query', $GLOBALS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_route_skips_when_current_town_equals_main_town(): void
|
||||||
|
{
|
||||||
|
\Brain\Monkey\Functions\expect('url_to_postid')->never();
|
||||||
|
\Brain\Monkey\Functions\when('is_admin')->justReturn(false);
|
||||||
|
$_SERVER['REQUEST_URI'] = '/spb/';
|
||||||
|
\Brain\Monkey\Functions\when('get_terms')->justReturn([10 => 'spb']);
|
||||||
|
\Brain\Monkey\Functions\when('get_field')->alias(function ($name) {
|
||||||
|
if ($name === 'main_town_slug') return 'spb';
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
Router::route();
|
||||||
|
|
||||||
|
self::assertArrayNotHasKey('wp_query', $GLOBALS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_route_skips_when_path_not_routable(): void
|
||||||
|
{
|
||||||
|
\Brain\Monkey\Functions\expect('url_to_postid')->never();
|
||||||
|
\Brain\Monkey\Functions\when('is_admin')->justReturn(false);
|
||||||
|
$_SERVER['REQUEST_URI'] = '/tyumen/privacy/';
|
||||||
|
\Brain\Monkey\Functions\when('get_terms')->justReturn([11 => 'tyumen']);
|
||||||
|
\Brain\Monkey\Functions\when('get_field')->alias(function ($name) {
|
||||||
|
if ($name === 'main_town_slug') return 'spb';
|
||||||
|
if ($name === 'page_no_rep') return [['link' => '/privacy/']];
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
Router::route();
|
||||||
|
|
||||||
|
self::assertArrayNotHasKey('wp_query', $GLOBALS);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user