From 175685a91230ad66c42ce2c56b1babfd51564521 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sun, 26 Apr 2026 23:43:14 +0700 Subject: [PATCH] test(app): align startup splash and host-page tests with desktop settings IPC - Add testID="startup-splash" to the simplified splash screen so e2e helpers can detect desktop daemon bootstrap without depending on removed copy. - Update startup-dsl helper to assert the testID instead of the deprecated "Starting local server..." text. - Replace the obsolete localStorage write for manageBuiltInDaemon in the local-daemon sidebar test with a get_desktop_settings IPC mock so the desktop bridge surfaces the seeded host without triggering bootstrap. --- packages/app/e2e/helpers/startup-dsl.ts | 2 +- packages/app/e2e/settings-host-page.spec.ts | 15 +++++++++------ .../app/src/screens/startup-splash-screen.tsx | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/app/e2e/helpers/startup-dsl.ts b/packages/app/e2e/helpers/startup-dsl.ts index 9c84cbf23..31b623216 100644 --- a/packages/app/e2e/helpers/startup-dsl.ts +++ b/packages/app/e2e/helpers/startup-dsl.ts @@ -164,7 +164,7 @@ class StartupAssertions { } async expectsDesktopDaemonStartup(): Promise { - await expect(this.page.getByText("Starting local server...", { exact: true })).toBeVisible({ + await expect(this.page.getByTestId("startup-splash")).toBeVisible({ timeout: 15_000, }); return this; diff --git a/packages/app/e2e/settings-host-page.spec.ts b/packages/app/e2e/settings-host-page.spec.ts index a36491868..79847e719 100644 --- a/packages/app/e2e/settings-host-page.spec.ts +++ b/packages/app/e2e/settings-host-page.spec.ts @@ -129,13 +129,10 @@ test.describe("Settings host page", () => { const serverId = getSeededServerId(); // Simulate the Electron desktop bridge so `useIsLocalDaemon` resolves the - // seeded host to the local daemon. `manageBuiltInDaemon: false` bypasses - // the desktop bootstrap flow so only the sidebar's status query runs. + // seeded host to the local daemon. `manageBuiltInDaemon: false` (returned + // from get_desktop_settings) bypasses the desktop bootstrap flow so only + // the sidebar's status query runs against the seeded test daemon. await page.addInitScript((localServerId) => { - localStorage.setItem( - "@paseo:app-settings", - JSON.stringify({ theme: "auto", manageBuiltInDaemon: false, sendBehavior: "interrupt" }), - ); (window as unknown as { paseoDesktop: unknown }).paseoDesktop = { platform: "darwin", invoke: async (command: string) => { @@ -152,6 +149,12 @@ test.describe("Settings host page", () => { error: null, }; } + if (command === "get_desktop_settings") { + return { + releaseChannel: "stable", + daemon: { manageBuiltInDaemon: false, keepRunningAfterQuit: true }, + }; + } return null; }, getPendingOpenProject: async () => null, diff --git a/packages/app/src/screens/startup-splash-screen.tsx b/packages/app/src/screens/startup-splash-screen.tsx index 5c8b7ba9e..a0ae4402d 100644 --- a/packages/app/src/screens/startup-splash-screen.tsx +++ b/packages/app/src/screens/startup-splash-screen.tsx @@ -392,7 +392,7 @@ export function StartupSplashScreen({ bootstrapState }: StartupSplashScreenProps if (!isError) { return ( - +