I was trying to spyOn sessionStorage object in jasmine. I've written the following code to achieve spying on real sessionStorage
fakeStore = {
employee: {
id: 123456,
emailId: '[email protected]',
role: 'admin'
}
};
fakeStorage = {
getItem: (key: string): string => fake Store[key]
};
spyOn(sessionStorage, 'getItem').and.callFake(fakeStorage.getItem);
But after encountering the error sessionStorage is undefined
I suddenly realised that I'm executing the jasmine tests on NodeJs environment rather than browser.
Since there is not such thing called sessionStorage in NodeJs global context test case failed.
I have to either run this test alone in browser or completely ignore.
Is there any way I can simulate browser's global window
context as NodeJs's global
I've tried to add sessionStorage into global
of nodejs,but typescript didn't let me....
How to solve this ?
try this