Files
tools/test/events/EventEmitter.test.ts
2025-08-16 14:17:46 -04:00

20 lines
673 B
TypeScript

import {afterAll, beforeEach, describe, expect, it, mock} from 'bun:test';
import {EventEmitter} from '../../src/events';
describe(`When emitting an event`, () => {
const eventEmitter: EventEmitter<string> = new EventEmitter<string>();
describe(`Given a callback is subscribed`, () => {
const mockListener = mock(() => undefined);
const subscription = eventEmitter.subscribe(mockListener);
describe(`Given an event is emitted`, () => {
beforeEach(() => eventEmitter.emit('mock event'));
it(`notifies the callback with the event`, () => expect(mockListener).toHaveBeenCalled());
});
afterAll(() => subscription.dispose());
});
});