diff --git a/frontend/src/context/AppContext.tsx b/frontend/src/context/AppContext.tsx index 22dbba6..f5dd81a 100644 --- a/frontend/src/context/AppContext.tsx +++ b/frontend/src/context/AppContext.tsx @@ -793,6 +793,7 @@ export function AppProvider({ children }: { children: React.ReactNode }) { settings.maxNaggingReminders !== savedSettings.maxNaggingReminders || settings.stockCalculationMode !== savedSettings.stockCalculationMode || settings.shareStockStatus !== savedSettings.shareStockStatus || + settings.shareMedicationOverview !== savedSettings.shareMedicationOverview || settings.upcomingTodayOnly !== savedSettings.upcomingTodayOnly || settings.shareScheduleTodayOnly !== savedSettings.shareScheduleTodayOnly || settings.expiryWarningDays !== savedSettings.expiryWarningDays diff --git a/frontend/src/test/context/AppContext.test.tsx b/frontend/src/test/context/AppContext.test.tsx index 7f83a5c..48bb4ba 100644 --- a/frontend/src/test/context/AppContext.test.tsx +++ b/frontend/src/test/context/AppContext.test.tsx @@ -132,6 +132,7 @@ describe("useAppContext", () => { shoutrrrIntakeReminders: true, stockCalculationMode: "automatic", shareStockStatus: true, + shareMedicationOverview: false, expiryWarningDays: 30, }, setSettings: vi.fn(), @@ -171,6 +172,7 @@ describe("useAppContext", () => { shoutrrrIntakeReminders: true, stockCalculationMode: "automatic", shareStockStatus: true, + shareMedicationOverview: false, expiryWarningDays: 30, }, settingsLoading: false, @@ -292,6 +294,27 @@ describe("useAppContext", () => { expect(result.current.settingsChanged).toBe(false); }); + it("marks settings as changed when shareMedicationOverview differs", async () => { + const settingsValue = mockUseSettings(); + mockUseSettings.mockReturnValue({ + ...settingsValue, + settings: { + ...settingsValue.settings, + shareMedicationOverview: true, + }, + savedSettings: { + ...settingsValue.savedSettings, + shareMedicationOverview: false, + }, + }); + + const { result } = renderHook(() => useAppContext(), { wrapper }); + + await waitFor(() => { + expect(result.current.settingsChanged).toBe(true); + }); + }); + it("exposes the settings load error from useSettings", async () => { const settingsValue = mockUseSettings(); mockUseSettings.mockReturnValue({