T hoguet/issue5 (#37)
* enregistrer les calendar settings dans le localstorage Fixes #5 * Refactor calendar settings service to use a definitions map for settings and update related components to access settings via a getter method * Update src/app/services/calendar-settings-service.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Refactor calendar settings service to utilize a new storedSignal implementation for localStorage persistence and restore the stored-signal utility * Update typescript-eslint to version 8.46.3 and enhance error handling in storedSignal function * Update src/app/services/calendar-settings-service.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Enhance storedSignal function to accept an Injector for improved context handling in localStorage persistence * Skip initial execution in storedSignal effect to prevent unnecessary localStorage writes * Refactor get method in CalendarSettingsService to throw an error if the setting ID doesn't exist --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
1 parent
1922b9acb2
commit
81d974cbfe
9 files changed
+199
-36
No files matched your search
@@ -17,17 +17,29 @@ describe('CalendarSettingsService', () => {
|
||||
});
|
||||
|
||||
it('should initialize with default values', () => {
|
||||
expect(service.showWeekNumbers()).toBe(false);
|
||||
expect(service.samediMalin()).toBe(true);
|
||||
expect(service.get('showWeekNumbers')()).toBe(false);
|
||||
expect(service.get('samediMalin')()).toBe(true);
|
||||
});
|
||||
|
||||
it('should allow updating showWeekNumbers', () => {
|
||||
service.showWeekNumbers.set(true);
|
||||
expect(service.showWeekNumbers()).toBe(true);
|
||||
service.get('showWeekNumbers').set(true);
|
||||
expect(service.get('showWeekNumbers')()).toBe(true);
|
||||
});
|
||||
|
||||
it('should allow updating samediMalin', () => {
|
||||
service.samediMalin.set(false);
|
||||
expect(service.samediMalin()).toBe(false);
|
||||
service.get('samediMalin').set(false);
|
||||
expect(service.get('samediMalin')()).toBe(false);
|
||||
});
|
||||
|
||||
it('should provide settings array for UI iteration', () => {
|
||||
const settingsArray = service.settingsArray;
|
||||
expect(settingsArray.length).toBe(2);
|
||||
expect(settingsArray[0].id).toBe('showWeekNumbers');
|
||||
expect(settingsArray[1].id).toBe('samediMalin');
|
||||
});
|
||||
|
||||
it('should return correct descriptions', () => {
|
||||
expect(service.getDescription('showWeekNumbers')).toBe('Afficher les numéros de semaine');
|
||||
expect(service.getDescription('samediMalin')).toBe('Activer le Samedi Malin');
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user