import keepLoginAlive from './keep-login-alive'; jest.useFakeTimers(); const pingInterval = 100; describe('Keep Login Alive', () => { keepLoginAlive.pingInterval = pingInterval; it('should ping every x seconds after start', () => { keepLoginAlive.ping = jest.fn(); keepLoginAlive.start(); expect(keepLoginAlive.ping).not.toHaveBeenCalled(); jest.advanceTimersByTime(pingInterval); expect(keepLoginAlive.ping).toHaveBeenCalled(); jest.advanceTimersByTime(pingInterval); expect(keepLoginAlive.ping).toHaveBeenCalledTimes(2); }); it('should stop pinging after stopping', () => { keepLoginAlive.ping = jest.fn(); keepLoginAlive.start(); jest.advanceTimersByTime(pingInterval); expect(keepLoginAlive.ping).toHaveBeenCalledTimes(1); keepLoginAlive.stop(); jest.advanceTimersByTime(pingInterval); expect(keepLoginAlive.ping).toHaveBeenCalledTimes(1); }); });