MCPcopy
hub / github.com/graphql/graphql-js / expectPromise

Function expectPromise

src/__testUtils__/expectPromise.ts:12–63  ·  view source on GitHub ↗
(maybePromise: unknown)

Source from the content-addressed store, hash-verified

10}
11
12export function expectPromise(maybePromise: unknown): PromiseExpectation {
13 assert(
14 isPromise(maybePromise),
15 `Expected a promise, received '${inspect(maybePromise)}'`,
16 );
17
18 return {
19 toResolve(): Promise<unknown> {
20 return maybePromise;
21 },
22 async toReject(): Promise<unknown> {
23 let caughtError: unknown;
24 let resolved;
25 let rejected = false;
26 try {
27 resolved = await maybePromise;
28 } catch (error) {
29 rejected = true;
30 caughtError = error;
31 }
32
33 assert(
34 rejected,
35 `Promise should have rejected, but resolved as '${inspect(resolved)}'`,
36 );
37
38 return caughtError;
39 },
40 async toRejectWith(message: string): Promise<Error> {
41 let caughtError: unknown;
42 let resolved;
43 let rejected = false;
44 try {
45 resolved = await maybePromise;
46 } catch (error) {
47 rejected = true;
48 caughtError = error;
49 }
50
51 assert(
52 rejected,
53 `Promise should have rejected with message '${message}', but resolved as '${inspect(
54 resolved,
55 )}'`,
56 );
57
58 expect(caughtError).to.be.an.instanceOf(Error);
59 expect(caughtError).to.have.property('message', message);
60 return caughtError as Error;
61 },
62 };
63}

Calls 2

isPromiseFunction · 0.90
inspectFunction · 0.90

Tested by 1