Files
playkit/examples/ui/public-host.example.spec.ts
T
ilia af12a92eb7
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Successful in 3s
CI / build-and-test (push) Successful in 10s
Add @levkin/playkit v0.1 shared Playwright/API kit
Ship browser helpers with public-host guards, ApiClient, structured
logging, Prometheus timings, CI, examples, and ROADMAP for consumers.
2026-07-14 16:04:23 -04:00

21 lines
850 B
TypeScript

/**
* Example UI pattern (not executed in kit CI — consumers own Playwright projects).
*
* Critical assert: after sign-out, URL host must remain the public host.
* This is the failure mode from punimtag #57 (redirect to 10.0.10.121:3001).
*/
import { test, expect } from '@playwright/test';
import { loadConfig, waitForUrlHost, assertPublicHost, TimingCollector } from '../../src/index.js';
test.describe('public host smoke (pattern)', () => {
test('base URL is public and reachable', async ({ page }) => {
const config = loadConfig();
const timings = new TimingCollector();
assertPublicHost(config.baseUrl, config.forbidPrivateHosts);
await timings.measure('goto_home', () => page.goto(config.baseUrl));
await waitForUrlHost(page, config.expectedHost);
expect(page.url()).toContain(config.expectedHost);
});
});