n8n/packages/workflow/test/DeferredPromise.test.ts
कारतोफ्फेलस्क्रिप्ट™ cef64329a9
Some checks failed
Test Master / install-and-build (push) Has been cancelled
Benchmark Docker Image CI / build (push) Has been cancelled
Test Master / Unit tests (18.x) (push) Has been cancelled
Test Master / Unit tests (20.x) (push) Has been cancelled
Test Master / Unit tests (22.4) (push) Has been cancelled
Test Master / Lint (push) Has been cancelled
Test Master / Notify Slack on failure (push) Has been cancelled
refactor(core): Simplify createDeferredPromise, and add tests (no-changelog) (#10811)
2024-09-13 15:53:03 +02:00

23 lines
693 B
TypeScript

import { createDeferredPromise } from '@/DeferredPromise';
describe('DeferredPromise', () => {
it('should resolve the promise with the correct value', async () => {
let done = false;
const deferred = createDeferredPromise<string>();
void deferred.promise.finally(() => {
done = true;
});
expect(done).toBe(false);
deferred.resolve('test');
await expect(deferred.promise).resolves.toBe('test');
expect(done).toBe(true);
});
it('should reject the promise with the correct error', async () => {
const deferred = createDeferredPromise();
const error = new Error('test error');
deferred.reject(error);
await expect(deferred.promise).rejects.toThrow(error);
});
});