From 953b4487748e033f99df2002ffd201d891a026bc Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sat, 24 Oct 2026 08:11:53 +0200 Subject: [PATCH] test(app): seed e2e settings fields without assuming an empty settings blob The e2e page fixture now stores a chat display before specs run, so seeds that skipped whenever any settings blob existed never wrote their own field. They now merge into the blob and skip only once their own field is stored. --- packages/app/e2e/browser/changes-pane.spec.ts | 4 +++- packages/app/e2e/support/helpers/sidebar-nav-settings.ts | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/app/e2e/browser/changes-pane.spec.ts b/packages/app/e2e/browser/changes-pane.spec.ts index 61173613ea..1ff6059460 100644 --- a/packages/app/e2e/browser/changes-pane.spec.ts +++ b/packages/app/e2e/browser/changes-pane.spec.ts @@ -1415,12 +1415,14 @@ test("collapsing and expanding restores the real horizontal scroll offset", asyn async function useCodeFont(page: Page, codeFontSize: number): Promise { await page.addInitScript( ({ settingsKey, fontSize }) => { - if (localStorage.getItem(settingsKey)) { + const settings = JSON.parse(localStorage.getItem(settingsKey) ?? "{}"); + if (settings.codeFontSize !== undefined) { return; } localStorage.setItem( settingsKey, JSON.stringify({ + ...settings, theme: "dark", sendBehavior: "interrupt", serviceUrlBehavior: "ask", diff --git a/packages/app/e2e/support/helpers/sidebar-nav-settings.ts b/packages/app/e2e/support/helpers/sidebar-nav-settings.ts index e3eff916e7..2037783ded 100644 --- a/packages/app/e2e/support/helpers/sidebar-nav-settings.ts +++ b/packages/app/e2e/support/helpers/sidebar-nav-settings.ts @@ -63,8 +63,9 @@ export async function seedSidebarFooterPreferences( ): Promise { await page.addInitScript( ({ key, sidebarFooterItems }) => { - if (localStorage.getItem(key)) return; - localStorage.setItem(key, JSON.stringify({ sidebarFooterItems })); + const settings = JSON.parse(localStorage.getItem(key) ?? "{}"); + if (settings.sidebarFooterItems) return; + localStorage.setItem(key, JSON.stringify({ ...settings, sidebarFooterItems })); }, { key: APP_SETTINGS_KEY, sidebarFooterItems: preferences }, );