import type { Page } from '@playwright/test'; /** * Navigate within the Vue SPA without a full page reload. * Uses history.pushState + popstate to trigger Vue Router navigation, * preserving wallet connection state and reactive stores. * * For initial page loads, use page.goto() instead. */ export async function navigateSPA(page: Page, path: string): Promise { await page.evaluate((p) => { window.history.pushState({}, '', p); window.dispatchEvent(new PopStateEvent('popstate')); }, path); // Give Vue Router time to resolve the route and render await page.waitForTimeout(500); }