Throw explicit error if list releases reponse doesn't have data
This commit is contained in:
@@ -218,6 +218,32 @@ describe("Action", () => {
|
||||
|
||||
})
|
||||
|
||||
it('throws error when list has no data', async () => {
|
||||
|
||||
const action = createAction(true, true)
|
||||
getMock.mockRejectedValue({status: 404})
|
||||
const error = {
|
||||
errors: [
|
||||
{
|
||||
code: 'already_exists'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
createMock.mockRejectedValue(error)
|
||||
listMock.mockResolvedValue({})
|
||||
expect.hasAssertions()
|
||||
try {
|
||||
await action.perform()
|
||||
} catch (error) {
|
||||
expect(error).toEqual(Error("No releases found. Response: {}"))
|
||||
}
|
||||
|
||||
expect(listMock).toBeCalled()
|
||||
expect(createMock).not.toBeCalled()
|
||||
expect(updateMock).not.toBeCalled()
|
||||
})
|
||||
|
||||
it('throws error when update fails', async () => {
|
||||
const action = createAction(true, true)
|
||||
|
||||
@@ -428,7 +454,7 @@ describe("Action", () => {
|
||||
destroyArtifacts: artifactDestroyMock
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
const MockActionSkipper = jest.fn<ActionSkipper, any>(() => {
|
||||
return {
|
||||
shouldSkip: shouldSkipMock
|
||||
|
||||
3
dist/index.js
vendored
3
dist/index.js
vendored
@@ -124,6 +124,9 @@ class Action {
|
||||
const tag = this.inputs.tag;
|
||||
const response = await this.releases.listReleases();
|
||||
const releases = response.data;
|
||||
if (!releases) {
|
||||
throw new Error(`No releases found. Response: ${JSON.stringify(response)}`);
|
||||
}
|
||||
const draftRelease = releases.find(release => release.draft && release.tag_name == tag);
|
||||
return draftRelease?.id;
|
||||
}
|
||||
|
||||
2
dist/index.js.map
vendored
2
dist/index.js.map
vendored
File diff suppressed because one or more lines are too long
@@ -120,6 +120,10 @@ export class Action {
|
||||
const tag = this.inputs.tag
|
||||
const response = await this.releases.listReleases()
|
||||
const releases = response.data
|
||||
if(!releases) {
|
||||
throw new Error(`No releases found. Response: ${JSON.stringify(response)}`)
|
||||
}
|
||||
|
||||
const draftRelease = releases.find(release => release.draft && release.tag_name == tag)
|
||||
|
||||
return draftRelease?.id
|
||||
|
||||
Reference in New Issue
Block a user