never(); \Brain\Monkey\Functions\expect('acf_add_local_field_group')->never(); \Brain\Monkey\Functions\when('function_exists')->alias(function ($name) { return $name !== 'acf_add_options_page' && $name !== 'acf_add_local_field_group'; }); OptionsPage::do_register(); self::assertTrue(true); } public function test_do_register_creates_options_page(): void { \Brain\Monkey\Functions\expect('acf_add_options_page') ->once() ->with(\Mockery::on(function ($args) { return ($args['menu_slug'] ?? null) === 'wp-multi-city' && ($args['page_title'] ?? null) === 'WP Multi City'; })); \Brain\Monkey\Functions\when('acf_add_local_field_group')->justReturn(); \Brain\Monkey\Functions\when('function_exists')->alias(function ($name) { return $name === 'acf_add_options_page' || $name === 'acf_add_local_field_group'; }); OptionsPage::do_register(); self::assertTrue(true); } public function test_do_register_registers_routing_field_group(): void { \Brain\Monkey\Functions\when('acf_add_options_page')->justReturn(); $captured = null; \Brain\Monkey\Functions\expect('acf_add_local_field_group') ->once() ->with(\Mockery::on(function ($group) use (&$captured) { $captured = $group; return true; })); \Brain\Monkey\Functions\when('function_exists')->alias(function ($name) { return $name === 'acf_add_options_page' || $name === 'acf_add_local_field_group'; }); OptionsPage::do_register(); self::assertSame('group_wpmc_routing', $captured['key']); self::assertSame( [[['param' => 'options_page', 'operator' => '==', 'value' => 'wp-multi-city']]], $captured['location'] ); $names = array_column($captured['fields'], 'name'); self::assertContains('main_town_slug', $names); self::assertContains('index_town_alt', $names); self::assertContains('page_unic', $names); self::assertContains('page_no_rep', $names); } }