feat(wpmc S4): Router::route root URL uses main_page_alt term meta

This commit is contained in:
Vladimir Bryzgalov
2026-05-16 19:58:04 +05:00
parent b218f5588b
commit 9af4c2976e
2 changed files with 98 additions and 1 deletions
+29
View File
@@ -91,4 +91,33 @@ final class RouterTest extends TestCase
self::assertArrayNotHasKey('wp_query', $GLOBALS);
}
public function test_route_uses_main_page_alt_term_meta_for_root_url(): void
{
\Brain\Monkey\Functions\when('is_admin')->justReturn(false);
$_SERVER['REQUEST_URI'] = '/tyumen/';
\Brain\Monkey\Functions\when('get_terms')->justReturn([11 => 'tyumen']);
$term = new \WP_Term();
$term->term_id = 11;
$term->slug = 'tyumen';
\Brain\Monkey\Functions\when('get_term_by')->justReturn($term);
\Brain\Monkey\Functions\when('get_field')->alias(function ($name, $where = null) {
if ($name === 'main_town_slug') return 'spb';
if ($name === 'page_no_rep') return false;
if ($name === 'main_page_alt' && $where === 'town_11') return 555;
return false;
});
\Brain\Monkey\Functions\when('get_post')->justReturn((object) ['ID' => 555]);
\Brain\Monkey\Functions\when('status_header')->justReturn(null);
Router::route();
self::assertInstanceOf(\WP_Query::class, $GLOBALS['wp_query']);
self::assertSame(555, $GLOBALS['wp_query']->constructor_args['page_id']);
self::assertSame('tyumen', $GLOBALS['wp_query']->constructor_args['town']);
self::assertTrue($GLOBALS['wp_query']->is_front_page);
self::assertTrue($GLOBALS['wp_query']->is_page);
}
}