$checks */
private function render(array $checks): string
{
Functions\stubEscapeFunctions();
Functions\stubTranslationFunctions();
Functions\when('rest_url')->justReturn('https://kunde.de/wp-json/mcp/mcp-oauth-server');
Functions\when('admin_url')->alias(static fn (string $path = ''): string => 'https://kunde.de/wp-admin/' . $path);
Functions\when('add_query_arg')->alias(static fn (array $args, string $url): string => $url . '?' . http_build_query($args));
$status = Mockery::mock(ConnectionStatus::class);
$status->allows('checks')->with(true)->andReturn($checks);
ob_start();
(new ConnectionTab($status))->render();
return (string) ob_get_clean();
}
public function testExplainsTheConnectionAsAnOrderedSequenceLinkingToTheAccessTab(): void
{
$html = $this->render([]);
self::assertStringContainsString('So verbindest du Claude', $html);
self::assertSame(3, substr_count($html, '
'));
self::assertStringContainsString('render([]);
self::assertMatchesRegularExpression(
'#]+id="lit-mcp-url"[^>]+readonly[^>]+value="https://kunde.de/wp-json/mcp/mcp-oauth-server"#',
$html
);
self::assertStringContainsString('