RocketChat/Rocket.Chat

View on GitHub
packages/ddp-client/__tests__/wrapOnceEventIntoPromise.spec.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Emitter } from '@rocket.chat/emitter';

import { wrapOnceEventIntoPromise } from '../src/wrapOnceEventIntoPromise';

it('should resolve', async () => {
    const emitter = new Emitter();
    const promise = wrapOnceEventIntoPromise(emitter, 'test');

    emitter.emit('test', 'test');

    const result = await promise;

    expect(result).toBe('test');
});

it('should reject', async () => {
    const emitter = new Emitter();
    const promise = wrapOnceEventIntoPromise(emitter, 'test');

    emitter.emit('test', { error: 'test' });

    await expect(promise).rejects.toBe('test');

    expect.assertions(1);
});