fix(settings): persist sessionRetentionAction through the settings sanitizer
This commit is contained in:
@@ -466,4 +466,39 @@ describe('settings helpers', () => {
|
||||
expect(sanitized.recentModels).toEqual(payload.recentModels);
|
||||
});
|
||||
});
|
||||
|
||||
describe('session retention settings persistence', () => {
|
||||
it('round-trips sessionRetentionAction archive and delete through the sanitizer', () => {
|
||||
const helpers = createTestHelpersWithRealSanitizers();
|
||||
|
||||
expect(helpers.sanitizeSettingsUpdate({ sessionRetentionAction: 'archive' })).toEqual({
|
||||
sessionRetentionAction: 'archive',
|
||||
});
|
||||
expect(helpers.sanitizeSettingsUpdate({ sessionRetentionAction: 'delete' })).toEqual({
|
||||
sessionRetentionAction: 'delete',
|
||||
});
|
||||
});
|
||||
|
||||
it('rejects invalid sessionRetentionAction values', () => {
|
||||
const helpers = createTestHelpersWithRealSanitizers();
|
||||
|
||||
expect(helpers.sanitizeSettingsUpdate({ sessionRetentionAction: 'remove' })).toEqual({});
|
||||
expect(helpers.sanitizeSettingsUpdate({ sessionRetentionAction: true })).toEqual({});
|
||||
});
|
||||
|
||||
it('survives a full settings payload containing sessionRetentionAction (regression)', () => {
|
||||
const helpers = createTestHelpersWithRealSanitizers();
|
||||
const payload = {
|
||||
autoDeleteEnabled: true,
|
||||
autoDeleteAfterDays: 60,
|
||||
sessionRetentionAction: 'delete',
|
||||
};
|
||||
|
||||
const sanitized = helpers.sanitizeSettingsUpdate(payload);
|
||||
|
||||
expect(sanitized.autoDeleteEnabled).toBe(true);
|
||||
expect(sanitized.autoDeleteAfterDays).toBe(60);
|
||||
expect(sanitized.sessionRetentionAction).toBe('delete');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user