diff --git a/packages/dashboard/app/components/__tests__/SettingsModal.general.test.tsx b/packages/dashboard/app/components/__tests__/SettingsModal.general.test.tsx index 1b91b5cb20..37d719d40f 100644 --- a/packages/dashboard/app/components/__tests__/SettingsModal.general.test.tsx +++ b/packages/dashboard/app/components/__tests__/SettingsModal.general.test.tsx @@ -838,7 +838,12 @@ describe("SettingsModal", () => { ); expect(initialCallHasDisabled).toBe(true); - await settingsModalUser.click(screen.getByRole("button", { name: /Memory/ })); + /* + FNXC:DashboardTests 2026-07-18-13:35: + Settings nav also exposes "Memory Backups"; /Memory/ matches both. Use the exact + Memory section label so the deferred memory-backend status hook test stays scoped. + */ + await settingsModalUser.click(screen.getByRole("button", { name: "Memory" })); await waitFor(() => { const enabledCallSeen = mockUseMemoryBackendStatus.mock.calls.some( diff --git a/packages/dashboard/app/components/__tests__/SettingsModal.test-harness.tsx b/packages/dashboard/app/components/__tests__/SettingsModal.test-harness.tsx index 4d390e6ef3..09a4ca6f8d 100644 --- a/packages/dashboard/app/components/__tests__/SettingsModal.test-harness.tsx +++ b/packages/dashboard/app/components/__tests__/SettingsModal.test-harness.tsx @@ -142,8 +142,16 @@ export function renderModal(props: Partial> } export async function waitForSettingsModalReady() { + /* + FNXC:DashboardTests 2026-07-18-13:35: + Full Suite shard 4 failed when mockFetchSettings was called but the modal still showed + Loading… on the next paint (OAuth incomplete-toast test). Wait for Loading to clear so + Authentication/section clicks do not race the initial settings fetch. + */ await waitFor(() => expect(mockFetchSettings).toHaveBeenCalled()); - expect(screen.queryByText("Loading…")).not.toBeInTheDocument(); + await waitFor(() => { + expect(screen.queryByText("Loading…")).not.toBeInTheDocument(); + }); } export async function renderModalSection(