20 lines
673 B
TypeScript
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());
|
|
});
|
|
});
|