Some checks failed
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
23 lines
699 B
TypeScript
23 lines
699 B
TypeScript
import { createDeferredPromise } from '../src/deferred-promise';
|
|
|
|
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);
|
|
});
|
|
});
|