Reputation: 23
My component.ts file
ngOnInit() {
if (localStorage.getItem('distanceUnit' + this.userMobile) == 'km') {
this.toggleSlider = false;
}
}
setUnit(): void {
if (this.toggleSlider) {
this.toggleSlider = false;
localStorage.setItem('distanceUnit' + this.userMobile, 'km');
} else {
this.toggleSlider = true;
localStorage.setItem('distanceUnit' + this.userMobile, 'mi');
}
}
My test case is in spec.ts file
it('Toggle button should be false in case distance unit km', () => {
component.toggleSlider = false
expect(component.toggleSlider).toBe(false);
});
Upvotes: 2
Views: 702
Reputation: 1780
Check below code for localStorage test cases.
beforeAll( () => {
let data= {};
const myLocalStorage = {
getItem: (key: string): string => {
return key in store ? store[key] : null;
},
setItem: (key: string, value: string) => {
data[key] = `${value}`;
},
removeItem: (key: string) => {
delete data[key];
},
clear: () => {
data= {};
}
};
spyOn(localStorage, 'getItem')
.and.callFake(myLocalStorage .getItem);
spyOn(localStorage, 'setItem')
.and.callFake(myLocalStorage .setItem);
spyOn(localStorage, 'removeItem')
.and.callFake(myLocalStorage .removeItem);
spyOn(localStorage, 'clear')
.and.callFake(myLocalStorage .clear);
localStorage.setItem('localStorageKey', 'value')
})
Upvotes: 2