jan/web/services/eventsService.test.ts
Louis 302b73ae73
test: add web helpers, services, utils tests (#3669)
* test: add web helpers tests

* fix: coverage report

* test: add more tests

* test: add more generated tests

* chore: add more tests

* test: add more tests
2024-09-20 14:24:51 +07:00

48 lines
1.2 KiB
TypeScript

import { EventEmitter } from './eventsService';
test('should do nothing when no handlers for event', () => {
const emitter = new EventEmitter();
expect(() => {
emitter.emit('nonExistentEvent', 'test data');
}).not.toThrow();
});
test('should call all handlers for event', () => {
const emitter = new EventEmitter();
const handler1 = jest.fn();
const handler2 = jest.fn();
emitter.on('testEvent', handler1);
emitter.on('testEvent', handler2);
emitter.emit('testEvent', 'test data');
expect(handler1).toHaveBeenCalledWith('test data');
expect(handler2).toHaveBeenCalledWith('test data');
});
test('should remove handler for event', () => {
const emitter = new EventEmitter();
const handler = jest.fn();
emitter.on('testEvent', handler);
emitter.off('testEvent', handler);
expect(emitter['handlers'].get('testEvent')).not.toContain(handler);
});
test('should add handler for event', () => {
const emitter = new EventEmitter();
const handler = jest.fn();
emitter.on('testEvent', handler);
expect(emitter['handlers'].has('testEvent')).toBe(true);
expect(emitter['handlers'].get('testEvent')).toContain(handler);
});