Add option to ignore prerelease on update (#96)

This commit is contained in:
Jashandeep Sohi
2021-08-01 12:41:55 -07:00
committed by GitHub
parent dee715a153
commit 7461bfe839
9 changed files with 74 additions and 25 deletions

View File

@@ -25,7 +25,8 @@ const commit = 'commit'
const discussionCategory = 'discussionCategory'
const draft = true
const id = 100
const prerelease = true
const createPrerelease = true
const updatePrerelease = false
const releaseId = 101
const replacesArtifacts = true
const tag = 'tag'
@@ -48,7 +49,7 @@ describe("Action", () => {
await action.perform()
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, prerelease)
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, createPrerelease)
expect(uploadMock).not.toBeCalled()
assertOutputApplied()
})
@@ -60,7 +61,7 @@ describe("Action", () => {
await action.perform()
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, prerelease)
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, createPrerelease)
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
assertOutputApplied()
})
@@ -77,7 +78,7 @@ describe("Action", () => {
await action.perform()
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, prerelease)
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, createPrerelease)
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
assertOutputApplied()
@@ -88,7 +89,7 @@ describe("Action", () => {
await action.perform()
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, prerelease)
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, createPrerelease)
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
assertOutputApplied()
})
@@ -104,7 +105,7 @@ describe("Action", () => {
expect(error).toEqual("error")
}
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, prerelease)
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, createPrerelease)
expect(uploadMock).not.toBeCalled()
})
@@ -153,7 +154,7 @@ describe("Action", () => {
discussionCategory,
draft,
updateName,
prerelease
updatePrerelease
)
expect(uploadMock).not.toBeCalled()
})
@@ -170,7 +171,7 @@ describe("Action", () => {
expect(error).toEqual(expectedError)
}
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, prerelease)
expect(createMock).toBeCalledWith(tag, createBody, commit, discussionCategory, draft, createName, createPrerelease)
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
})
@@ -195,7 +196,7 @@ describe("Action", () => {
discussionCategory,
draft,
updateName,
prerelease
updatePrerelease
)
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
assertOutputApplied()
@@ -214,7 +215,7 @@ describe("Action", () => {
discussionCategory,
draft,
updateName,
prerelease
updatePrerelease
)
expect(uploadMock).not.toBeCalled()
assertOutputApplied()
@@ -233,7 +234,7 @@ describe("Action", () => {
discussionCategory,
draft,
updateName,
prerelease
updatePrerelease
)
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
assertOutputApplied()
@@ -295,13 +296,14 @@ describe("Action", () => {
discussionCategory: discussionCategory,
draft: draft,
owner: "owner",
prerelease: prerelease,
createdPrerelease: createPrerelease,
replacesArtifacts: replacesArtifacts,
repo: "repo",
tag: tag,
token: token,
updatedReleaseBody: updateBody,
updatedReleaseName: updateName
updatedReleaseName: updateName,
updatedPrerelease: updatePrerelease
}
})
const MockOutputs = jest.fn<Outputs, any>(() => {

View File

@@ -214,14 +214,14 @@ describe('Inputs', () => {
});
})
describe('prerelase', () => {
describe('createdPrerelase', () => {
it('returns false', () => {
expect(inputs.prerelease).toBe(false)
expect(inputs.createdPrerelease).toBe(false)
})
it('returns true', () => {
mockGetInput.mockReturnValue('true')
expect(inputs.prerelease).toBe(true)
expect(inputs.createdPrerelease).toBe(true)
})
})
@@ -349,6 +349,29 @@ describe('Inputs', () => {
})
})
describe('updatedPrerelease', () => {
it('returns false', () => {
mockGetInput
.mockReturnValueOnce('false')
.mockReturnValueOnce('false')
expect(inputs.updatedPrerelease).toBe(false)
})
it('returns true', () => {
mockGetInput
.mockReturnValueOnce('false')
.mockReturnValueOnce('true')
expect(inputs.updatedPrerelease).toBe(true)
})
it('returns undefined when omitted for update', () => {
mockGetInput
.mockReturnValueOnce('true')
.mockReturnValueOnce('false')
expect(inputs.updatedPrerelease).toBeUndefined()
})
})
function createGlobber(): ArtifactGlobber {
const MockGlobber = jest.fn<ArtifactGlobber, any>(() => {
return {

View File

@@ -44,13 +44,14 @@ describe.skip('Integration Test', () => {
discussionCategory: 'Release',
draft: false,
owner: "ncipollo",
prerelease: false,
createdPrerelease: false,
replacesArtifacts: true,
repo: "actions-playground",
tag: "release-action-test",
token: getToken(),
updatedReleaseBody: "This release was generated by release-action's integration test",
updatedReleaseName: "Releases Action Integration Test"
updatedReleaseName: "Releases Action Integration Test",
updatedPrerelease: false
}
})
return new MockInputs();