Skip to content

Commit 53636dd

Browse files
committed
Paginate Octokit listReleases
1 parent 0635e8f commit 53636dd

File tree

3 files changed

+9
-10
lines changed

3 files changed

+9
-10
lines changed

__tests__/releases.test.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,14 @@ const dummyReleaseData_v1_28_0 = { ...dummyReleaseData, name: 'v1.28.0' };
5050
const allReleases = [dummyReleaseData, dummyReleaseData_1_7, dummyReleaseData_v1_24_0, dummyReleaseData_v1_28_0];
5151

5252
const executor = jest.fn<CommandExecutor>();
53+
type Paginate = Octokit['paginate'];
5354
type ListReleases = Octokit['rest']['repos']['listReleases'];
5455
type GetLatestRelease = Octokit['rest']['repos']['getLatestRelease'];
56+
const mockPaginate = jest.fn<Paginate>();
5557
const mockListReleases = jest.fn<ListReleases>();
5658
const mockGetLatestRelease = jest.fn<GetLatestRelease>();
5759
const octokit = {
60+
paginate: mockPaginate,
5861
rest: {
5962
repos: {
6063
listReleases: mockListReleases,
@@ -88,12 +91,7 @@ function mockApiReturnRelease(releaseData: ReleaseData) {
8891
}
8992

9093
function mockOctokitReturnReleases() {
91-
mockListReleases.mockReturnValueOnce(Promise.resolve({
92-
headers: undefined as any,
93-
status: 200,
94-
url: '',
95-
data: allReleases
96-
}));
94+
mockPaginate.mockReturnValueOnce(Promise.resolve(allReleases));
9795
}
9896

9997
function mockOctokitReturnRelease(releaseData: ReleaseData) {
@@ -134,6 +132,7 @@ describe('get all release data', () => {
134132
const releases = new Releases(executor, octokit);
135133
const results = await releases.getAllReleaseData();
136134
expect(results).toEqual(allReleases);
135+
expect(mockPaginate).toHaveBeenCalledWith(octokit.rest.repos.listReleases, expect.anything());
137136
expect(mockGetLatestRelease).not.toBeCalled();
138137
expect(executor).not.toBeCalled();
139138
});

dist/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32722,8 +32722,8 @@ class Releases {
3272232722
return this.callReleasesApi();
3272332723
}
3272432724
const params = { owner: const_1.repositoryOwner, repo: const_1.repositoryName, per_page: 100 };
32725-
const response = await this.octokit.rest.repos.listReleases(params);
32726-
return response.data;
32725+
const allReleases = await this.octokit.paginate(this.octokit.rest.repos.listReleases, params);
32726+
return allReleases;
3272732727
}
3272832728
async getLatestReleaseData(javaVersion) {
3272932729
if (javaVersion < 11) {

src/releases.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ export class Releases {
3131
return this.callReleasesApi();
3232
}
3333
const params = { owner: GJF_REPO_OWNER, repo: GJF_REPO_NAME, per_page: 100 };
34-
const response = await this.octokit.rest.repos.listReleases(params);
35-
return response.data;
34+
const allReleases = await this.octokit.paginate(this.octokit.rest.repos.listReleases, params);
35+
return allReleases;
3636
}
3737

3838
async getLatestReleaseData(javaVersion: number): Promise<ReleaseData> {

0 commit comments

Comments
 (0)