import { LimitingEventHandler } from '../limitingEventHandler'; let clientLimiting: LimitingEventHandler; beforeAll(() => { clientLimiting = LimitingEventHandler.getInstance(); }); const startSpy = jest.fn(); const stopSpy = jest.fn(); jest.mock('../webLimiting', () => { return { WebLimiter: class WebLimiter { static getInstance() { return new WebLimiter(); } start(params: any) { startSpy(...params); } stop() { stopSpy(); } } }; }); beforeEach(() => { startSpy.mockClear(); stopSpy.mockClear(); }); describe('LimitingEventHandler', () => { it('should start weblimiter', () => { clientLimiting.webLimitStart({} as any); expect(startSpy).toHaveBeenCalled(); }); it('should stop weblimiter', () => { clientLimiting.webLimitStop(); expect(stopSpy).toHaveBeenCalled(); }); });