How do I deal with localStorage in jest tests?

后端 未结 17 1791
长情又很酷
长情又很酷 2020-11-28 02:01

I keep getting \"localStorage is not defined\" in Jest tests which makes sense but what are my options? Hitting brick walls.

17条回答
  •  半阙折子戏
    2020-11-28 02:55

        describe('getToken', () => {
        const Auth = new AuthService();
        const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Ik1yIEpvc2VwaCIsImlkIjoiNWQwYjk1Mzg2NTVhOTQ0ZjA0NjE5ZTA5IiwiZW1haWwiOiJ0cmV2X2pvc0Bob3RtYWlsLmNvbSIsInByb2ZpbGVVc2VybmFtZSI6Ii9tcmpvc2VwaCIsInByb2ZpbGVJbWFnZSI6Ii9Eb3Nlbi10LUdpci1sb29rLWN1dGUtbnVrZWNhdDMxNnMtMzExNzAwNDYtMTI4MC04MDAuanBnIiwiaWF0IjoxNTYyMzE4NDA0LCJleHAiOjE1OTM4NzYwMDR9.YwU15SqHMh1nO51eSa0YsOK-YLlaCx6ijceOKhZfQZc';
        beforeEach(() => {
            global.localStorage = jest.fn().mockImplementation(() => {
                return {
                    getItem: jest.fn().mockReturnValue(token)
                }
            });
        });
        it('should get the token from localStorage', () => {
    
            const result  = Auth.getToken();
            expect(result).toEqual(token);
    
        });
    });
    

    Create a mock and add it to the global objectt

提交回复
热议问题