Fixes #16 Add update specific omit inputs
This commit is contained in:
@@ -16,17 +16,19 @@ const artifacts = [
|
||||
new Artifact('a/art1'),
|
||||
new Artifact('b/art2')
|
||||
]
|
||||
const artifactData = Buffer.from('blob', 'utf-8')
|
||||
const body = 'body'
|
||||
|
||||
const createBody = 'createBody'
|
||||
const createName = 'createName'
|
||||
const commit = 'commit'
|
||||
const draft = true
|
||||
const id = 100
|
||||
const name = 'name'
|
||||
const prerelease = true
|
||||
const releaseId = 101
|
||||
const replacesArtifacts = true
|
||||
const tag = 'tag'
|
||||
const token = 'token'
|
||||
const updateBody = 'updateBody'
|
||||
const updateName = 'updateName'
|
||||
const url = 'http://api.example.com'
|
||||
|
||||
describe("Action", () => {
|
||||
@@ -43,7 +45,7 @@ describe("Action", () => {
|
||||
|
||||
await action.perform()
|
||||
|
||||
expect(createMock).toBeCalledWith(tag, body, commit, draft, name, prerelease)
|
||||
expect(createMock).toBeCalledWith(tag, createBody, commit, draft, createName, prerelease)
|
||||
expect(uploadMock).not.toBeCalled()
|
||||
})
|
||||
|
||||
@@ -54,7 +56,7 @@ describe("Action", () => {
|
||||
|
||||
await action.perform()
|
||||
|
||||
expect(createMock).toBeCalledWith(tag, body, commit, draft, name, prerelease)
|
||||
expect(createMock).toBeCalledWith(tag, createBody, commit, draft, createName, prerelease)
|
||||
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
|
||||
})
|
||||
|
||||
@@ -70,7 +72,7 @@ describe("Action", () => {
|
||||
|
||||
await action.perform()
|
||||
|
||||
expect(createMock).toBeCalledWith(tag, body, commit, draft, name, prerelease)
|
||||
expect(createMock).toBeCalledWith(tag, createBody, commit, draft, createName, prerelease)
|
||||
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
|
||||
|
||||
})
|
||||
@@ -80,7 +82,7 @@ describe("Action", () => {
|
||||
|
||||
await action.perform()
|
||||
|
||||
expect(createMock).toBeCalledWith(tag, body, commit, draft, name, prerelease)
|
||||
expect(createMock).toBeCalledWith(tag, createBody, commit, draft, createName, prerelease)
|
||||
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
|
||||
})
|
||||
|
||||
@@ -95,7 +97,7 @@ describe("Action", () => {
|
||||
expect(error).toEqual("error")
|
||||
}
|
||||
|
||||
expect(createMock).toBeCalledWith(tag, body, commit, draft, name, prerelease)
|
||||
expect(createMock).toBeCalledWith(tag, createBody, commit, draft, createName, prerelease)
|
||||
expect(uploadMock).not.toBeCalled()
|
||||
})
|
||||
|
||||
@@ -136,7 +138,7 @@ describe("Action", () => {
|
||||
expect(error).toEqual("error")
|
||||
}
|
||||
|
||||
expect(updateMock).toBeCalledWith(id, tag, body, commit, draft, name, prerelease)
|
||||
expect(updateMock).toBeCalledWith(id, tag, updateBody, commit, draft, updateName, prerelease)
|
||||
expect(uploadMock).not.toBeCalled()
|
||||
})
|
||||
|
||||
@@ -151,7 +153,7 @@ describe("Action", () => {
|
||||
expect(error).toEqual("error")
|
||||
}
|
||||
|
||||
expect(createMock).toBeCalledWith(tag, body, commit, draft, name, prerelease)
|
||||
expect(createMock).toBeCalledWith(tag, createBody, commit, draft, createName, prerelease)
|
||||
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
|
||||
})
|
||||
|
||||
@@ -168,7 +170,7 @@ describe("Action", () => {
|
||||
|
||||
await action.perform()
|
||||
|
||||
expect(updateMock).toBeCalledWith(id, tag, body, commit, draft, name, prerelease)
|
||||
expect(updateMock).toBeCalledWith(id, tag, updateBody, commit, draft, updateName, prerelease)
|
||||
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
|
||||
|
||||
})
|
||||
@@ -178,7 +180,7 @@ describe("Action", () => {
|
||||
|
||||
await action.perform()
|
||||
|
||||
expect(updateMock).toBeCalledWith(id, tag, body, commit, draft, name, prerelease)
|
||||
expect(updateMock).toBeCalledWith(id, tag, updateBody, commit, draft, updateName, prerelease)
|
||||
expect(uploadMock).not.toBeCalled()
|
||||
|
||||
})
|
||||
@@ -188,7 +190,7 @@ describe("Action", () => {
|
||||
|
||||
await action.perform()
|
||||
|
||||
expect(updateMock).toBeCalledWith(id, tag, body, commit, draft, name, prerelease)
|
||||
expect(updateMock).toBeCalledWith(id, tag, updateBody, commit, draft, updateName, prerelease)
|
||||
expect(uploadMock).toBeCalledWith(artifacts, releaseId, url)
|
||||
|
||||
})
|
||||
@@ -238,15 +240,16 @@ describe("Action", () => {
|
||||
return {
|
||||
allowUpdates: allowUpdates,
|
||||
artifacts: inputArtifact,
|
||||
body: body,
|
||||
createdReleaseBody: createBody,
|
||||
createdReleaseName: createName,
|
||||
commit: commit,
|
||||
draft: draft,
|
||||
name: name,
|
||||
prerelease: prerelease,
|
||||
replacesArtifacts: replacesArtifacts,
|
||||
tag: tag,
|
||||
token: token,
|
||||
readArtifact: () => artifactData
|
||||
updatedReleaseBody: updateBody,
|
||||
updatedReleaseName: updateName
|
||||
}
|
||||
})
|
||||
const MockUploader = jest.fn<ArtifactUploader, any>(() => {
|
||||
@@ -261,4 +264,4 @@ describe("Action", () => {
|
||||
|
||||
return new Action(inputs, releases, uploader)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -30,7 +30,6 @@ describe('ErrorMessage', () => {
|
||||
})
|
||||
|
||||
it('generates message with errors', () => {
|
||||
const resource = "release"
|
||||
const error = {
|
||||
message: 'something bad happened',
|
||||
errors: [
|
||||
@@ -68,4 +67,4 @@ describe('ErrorMessage', () => {
|
||||
const errorMessage = new ErrorMessage(error)
|
||||
expect(errorMessage.status).toBe(404)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -91,12 +91,12 @@ describe('Inputs', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe('body', () => {
|
||||
describe('createdReleaseBody', () => {
|
||||
it('returns input body', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('body')
|
||||
expect(inputs.body).toBe('body')
|
||||
expect(inputs.createdReleaseBody).toBe('body')
|
||||
})
|
||||
|
||||
it('returns body file contents', () => {
|
||||
@@ -106,7 +106,7 @@ describe('Inputs', () => {
|
||||
.mockReturnValueOnce('a/path')
|
||||
mockReadFileSync.mockReturnValue('file')
|
||||
|
||||
expect(inputs.body).toBe('file')
|
||||
expect(inputs.createdReleaseBody).toBe('file')
|
||||
})
|
||||
|
||||
it('returns empty', () => {
|
||||
@@ -114,14 +114,38 @@ describe('Inputs', () => {
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('')
|
||||
.mockReturnValueOnce('')
|
||||
expect(inputs.body).toBe('')
|
||||
expect(inputs.createdReleaseBody).toBe('')
|
||||
})
|
||||
|
||||
it('returns null when omitted', () => {
|
||||
it('returns undefined when omitted', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('true')
|
||||
.mockReturnValueOnce('body')
|
||||
expect(inputs.body).toBeUndefined()
|
||||
expect(inputs.createdReleaseBody).toBeUndefined()
|
||||
})
|
||||
})
|
||||
|
||||
describe('createdReleaseName', () => {
|
||||
it('returns input name', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('name')
|
||||
expect(inputs.createdReleaseName).toBe('name')
|
||||
})
|
||||
|
||||
it('returns undefined when omitted', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('true')
|
||||
.mockReturnValueOnce('name')
|
||||
expect(inputs.createdReleaseBody).toBeUndefined()
|
||||
})
|
||||
|
||||
it('returns tag', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('')
|
||||
context.ref = 'refs/tags/sha-tag'
|
||||
expect(inputs.createdReleaseName).toBe('sha-tag')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -136,30 +160,6 @@ describe('Inputs', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe('name', () => {
|
||||
it('returns input name', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('name')
|
||||
expect(inputs.name).toBe('name')
|
||||
})
|
||||
|
||||
it('returns null when omitted', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('true')
|
||||
.mockReturnValueOnce('name')
|
||||
expect(inputs.body).toBeUndefined()
|
||||
})
|
||||
|
||||
it('returns tag', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('')
|
||||
context.ref = 'refs/tags/sha-tag'
|
||||
expect(inputs.name).toBe('sha-tag')
|
||||
})
|
||||
})
|
||||
|
||||
describe('prerelase', () => {
|
||||
it('returns false', () => {
|
||||
expect(inputs.prerelease).toBe(false)
|
||||
@@ -202,6 +202,87 @@ describe('Inputs', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe('updatedReleaseBody', () => {
|
||||
it('returns input body', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('body')
|
||||
expect(inputs.updatedReleaseBody).toBe('body')
|
||||
})
|
||||
|
||||
it('returns body file contents', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('')
|
||||
.mockReturnValueOnce('a/path')
|
||||
mockReadFileSync.mockReturnValue('file')
|
||||
|
||||
expect(inputs.updatedReleaseBody).toBe('file')
|
||||
})
|
||||
|
||||
it('returns empty', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('')
|
||||
.mockReturnValueOnce('')
|
||||
expect(inputs.updatedReleaseBody).toBe('')
|
||||
})
|
||||
|
||||
it('returns undefined when omitted', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('true')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('body')
|
||||
expect(inputs.updatedReleaseBody).toBeUndefined()
|
||||
})
|
||||
|
||||
it('returns undefined when omitted for update', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('true')
|
||||
.mockReturnValueOnce('body')
|
||||
expect(inputs.updatedReleaseBody).toBeUndefined()
|
||||
})
|
||||
})
|
||||
|
||||
describe('updatedReleaseName', () => {
|
||||
it('returns input name', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('name')
|
||||
expect(inputs.updatedReleaseName).toBe('name')
|
||||
})
|
||||
|
||||
it('returns undefined when omitted', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('true')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('name')
|
||||
expect(inputs.updatedReleaseName).toBeUndefined()
|
||||
})
|
||||
|
||||
it('returns undefined when omitted for update', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('true')
|
||||
.mockReturnValueOnce('name')
|
||||
expect(inputs.updatedReleaseName).toBeUndefined()
|
||||
})
|
||||
|
||||
it('returns tag', () => {
|
||||
mockGetInput
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('false')
|
||||
.mockReturnValueOnce('')
|
||||
context.ref = 'refs/tags/sha-tag'
|
||||
expect(inputs.updatedReleaseName).toBe('sha-tag')
|
||||
})
|
||||
})
|
||||
|
||||
function createGlobber(): ArtifactGlobber {
|
||||
const MockGlobber = jest.fn<ArtifactGlobber, any>(() => {
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user