/
add-and-remove-repository-collaborator.test.ts
70 lines (60 loc) · 1.97 KB
/
add-and-remove-repository-collaborator.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
import { loadFixture, fixtureToInstance, OctokitType } from "../util";
describe("api.github.com", () => {
let githubUserA: OctokitType;
let githubUserB: OctokitType;
beforeEach(() => {
return loadFixture("add-and-remove-repository-collaborator").then(
(fixture) => {
githubUserA = fixtureToInstance(fixture, {
auth: "token 0000000000000000000000000000000000000001",
});
githubUserB = fixtureToInstance(fixture, {
auth: "token 0000000000000000000000000000000000000002",
});
},
);
});
it("add-and-remove-repository-collaborator-test", () => {
return githubUserA.repos
.addCollaborator({
owner: "octokit-fixture-org",
repo: "add-and-remove-repository-collaborator",
username: "octokit-fixture-user-b",
})
.then(() => {
return githubUserA.repos.listInvitations({
owner: "octokit-fixture-org",
repo: "add-and-remove-repository-collaborator",
});
})
.then((response) => {
expect(response.data.length).toEqual(1);
return githubUserB.repos.acceptInvitationForAuthenticatedUser({
invitation_id: response.data[0].id,
});
})
.then(() => {
return githubUserA.repos.listCollaborators({
owner: "octokit-fixture-org",
repo: "add-and-remove-repository-collaborator",
});
})
.then((response) => {
expect(response.data.length).toEqual(2);
return githubUserA.repos.removeCollaborator({
owner: "octokit-fixture-org",
repo: "add-and-remove-repository-collaborator",
username: "octokit-fixture-user-b",
});
})
.then(() => {
return githubUserA.repos.listCollaborators({
owner: "octokit-fixture-org",
repo: "add-and-remove-repository-collaborator",
});
})
.then((response) => {
expect(response.data.length).toEqual(1);
});
});
});