fix(frontend): Properly reflect default user analytics setting (#11702)

This commit is contained in:
sp.wack
2025-11-11 18:19:37 +04:00
committed by GitHub
parent 6e9e7547e5
commit f8a41d3ffe
2 changed files with 18 additions and 2 deletions

View File

@@ -46,6 +46,21 @@ describe("Content", () => {
}); });
}); });
it("should render analytics toggle as enabled when server returns null (opt-in by default)", async () => {
const getSettingsSpy = vi.spyOn(SettingsService, "getSettings");
getSettingsSpy.mockResolvedValue({
...MOCK_DEFAULT_USER_SETTINGS,
user_consents_to_analytics: null,
});
renderAppSettingsScreen();
await waitFor(() => {
const analytics = screen.getByTestId("enable-analytics-switch");
expect(analytics).toBeChecked();
});
});
it("should render the language options", async () => { it("should render the language options", async () => {
renderAppSettingsScreen(); renderAppSettingsScreen();

View File

@@ -125,7 +125,8 @@ function AppSettingsScreen() {
}; };
const checkIfAnalyticsSwitchHasChanged = (checked: boolean) => { const checkIfAnalyticsSwitchHasChanged = (checked: boolean) => {
const currentAnalytics = !!settings?.USER_CONSENTS_TO_ANALYTICS; // Treat null as true since analytics is opt-in by default
const currentAnalytics = settings?.USER_CONSENTS_TO_ANALYTICS ?? true;
setAnalyticsSwitchHasChanged(checked !== currentAnalytics); setAnalyticsSwitchHasChanged(checked !== currentAnalytics);
}; };
@@ -197,7 +198,7 @@ function AppSettingsScreen() {
<SettingsSwitch <SettingsSwitch
testId="enable-analytics-switch" testId="enable-analytics-switch"
name="enable-analytics-switch" name="enable-analytics-switch"
defaultIsToggled={!!settings.USER_CONSENTS_TO_ANALYTICS} defaultIsToggled={settings.USER_CONSENTS_TO_ANALYTICS ?? true}
onToggle={checkIfAnalyticsSwitchHasChanged} onToggle={checkIfAnalyticsSwitchHasChanged}
> >
{t(I18nKey.ANALYTICS$SEND_ANONYMOUS_DATA)} {t(I18nKey.ANALYTICS$SEND_ANONYMOUS_DATA)}