diff --git a/apps/electron-backend-e2e/src/downloads.e2e.ts b/apps/electron-backend-e2e/src/downloads.e2e.ts index c08bd56f6..bb3d2e47f 100644 --- a/apps/electron-backend-e2e/src/downloads.e2e.ts +++ b/apps/electron-backend-e2e/src/downloads.e2e.ts @@ -42,11 +42,22 @@ async function navigateWithinWorkspace( page: Page, path: string ): Promise { - await page.evaluate((target) => { - window.history.pushState(null, '', target); + const targetPathname = await page.evaluate((target) => { + const targetUrl = new URL(window.location.href); + const workspaceIndex = targetUrl.pathname.lastIndexOf('/workspace'); + const rendererPath = + workspaceIndex >= 0 + ? targetUrl.pathname.slice(0, workspaceIndex) + : targetUrl.pathname.replace(/\/$/, ''); + + targetUrl.pathname = `${rendererPath}${target}`; + targetUrl.search = ''; + targetUrl.hash = ''; + window.history.pushState(null, '', targetUrl); window.dispatchEvent(new PopStateEvent('popstate')); + return targetUrl.pathname; }, path); - await page.waitForURL((url) => url.pathname === path); + await page.waitForURL((url) => url.pathname === targetPathname); } async function getPlaylistId(page: Page, title: string): Promise {