-
Notifications
You must be signed in to change notification settings - Fork 87
/
Copy pathwith-custom-request.test.ts
76 lines (72 loc) · 1.64 KB
/
with-custom-request.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import fetchMock from "fetch-mock";
import { request } from "@octokit/request";
import { withCustomRequest } from "../src";
describe("withCustomRequest()", () => {
it("README example", () => {
const myRequest = request.defaults({
headers: {
authorization: "token secret123",
"user-agent": "test",
},
});
const myGraphql = withCustomRequest(myRequest);
const mockData = {
repository: {
issues: {
edges: [
{
node: {
title: "Foo",
},
},
{
node: {
title: "Bar",
},
},
{
node: {
title: "Baz",
},
},
],
},
},
};
return myGraphql(
`
{
repository(owner: "octokit", name: "graphql.js") {
issues(last: 3) {
edges {
node {
title
}
}
}
}
}
`,
{
headers: {
authorization: `token secret123`,
},
request: {
fetch: fetchMock.sandbox().post(
"https://api.github.com/graphql",
{ data: mockData },
{
headers: {
accept: "application/vnd.github.v3+json",
authorization: "token secret123",
"user-agent": "test",
},
},
),
},
},
).then((result) => {
expect(JSON.stringify(result)).toStrictEqual(JSON.stringify(mockData));
});
});
});