add test combining number and status
This commit is contained in:
+93
-16
@@ -310,6 +310,46 @@ pullRequestsWithLabels.push(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const openPullRequestsWithLabels: PullRequestInfo[] = []
|
||||||
|
openPullRequestsWithLabels.push(
|
||||||
|
{
|
||||||
|
number: 6,
|
||||||
|
title: 'Still pending open pull request (Current)',
|
||||||
|
htmlURL: '',
|
||||||
|
baseBranch: '',
|
||||||
|
createdAt: moment(),
|
||||||
|
mergedAt: moment(),
|
||||||
|
mergeCommitSha: 'sha1',
|
||||||
|
author: 'Mike',
|
||||||
|
repoName: 'test-repo',
|
||||||
|
labels: new Set<string>().add('feature'),
|
||||||
|
milestone: '',
|
||||||
|
body: 'Some fancy body message',
|
||||||
|
assignees: [],
|
||||||
|
requestedReviewers: [],
|
||||||
|
approvedReviewers: [],
|
||||||
|
status: 'open'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
number: 7,
|
||||||
|
title: 'Still pending open pull request',
|
||||||
|
htmlURL: '',
|
||||||
|
baseBranch: '',
|
||||||
|
createdAt: moment(),
|
||||||
|
mergedAt: moment(),
|
||||||
|
mergeCommitSha: 'sha1',
|
||||||
|
author: 'Mike',
|
||||||
|
repoName: 'test-repo',
|
||||||
|
labels: new Set<string>().add('feature'),
|
||||||
|
milestone: '',
|
||||||
|
body: 'Some fancy body message',
|
||||||
|
assignees: [],
|
||||||
|
requestedReviewers: [],
|
||||||
|
approvedReviewers: [],
|
||||||
|
status: 'open'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
it('Match multiple labels exhaustive for category', async () => {
|
it('Match multiple labels exhaustive for category', async () => {
|
||||||
const customConfig = Object.assign({}, DefaultConfiguration)
|
const customConfig = Object.assign({}, DefaultConfiguration)
|
||||||
customConfig.categories = [
|
customConfig.categories = [
|
||||||
@@ -417,9 +457,7 @@ it('Release Diff', async () => {
|
|||||||
configuration: customConfig
|
configuration: customConfig
|
||||||
})
|
})
|
||||||
|
|
||||||
expect(resultChangelog).toStrictEqual(
|
expect(resultChangelog).toStrictEqual(`https://github.com/mikepenz/release-changelog-builder-action/compare/v2.8.0...v2.8.1\n`)
|
||||||
`https://github.com/mikepenz/release-changelog-builder-action/compare/v2.8.0...v2.8.1\n`
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Use exclude labels to not include a PR within a category.', async () => {
|
it('Use exclude labels to not include a PR within a category.', async () => {
|
||||||
@@ -492,7 +530,6 @@ it('Extract custom placeholder from PR body and replace in global template', asy
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
it('Use Rules to include a PR within a Category.', async () => {
|
it('Use Rules to include a PR within a Category.', async () => {
|
||||||
const customConfig = Object.assign({}, DefaultConfiguration)
|
const customConfig = Object.assign({}, DefaultConfiguration)
|
||||||
customConfig.categories = [
|
customConfig.categories = [
|
||||||
@@ -502,12 +539,12 @@ it('Use Rules to include a PR within a Category.', async () => {
|
|||||||
exclude_labels: ['Fix'],
|
exclude_labels: ['Fix'],
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
pattern: "\[ABC-1234\]",
|
pattern: '[ABC-1234]',
|
||||||
on_property: "title"
|
on_property: 'title'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
pattern: "merged",
|
pattern: 'merged',
|
||||||
on_property: "status"
|
on_property: 'status'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
exhaustive: true
|
exhaustive: true
|
||||||
@@ -528,14 +565,53 @@ it('Use Rules to get all open PRs in a Category.', async () => {
|
|||||||
title: '## Open PRs only',
|
title: '## Open PRs only',
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
pattern: "open",
|
pattern: 'open',
|
||||||
on_property: "status"
|
on_property: 'status'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
expect(buildChangelogTest(customConfig, prs)).toStrictEqual(`## Open PRs only\n\n- Still pending open pull request\n - PR: #6\n\n`)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
it('Use Rules to get current open PR and merged categorised.', async () => {
|
||||||
|
let prs = Array.from(pullRequestsWithLabels)
|
||||||
|
prs.concat(Array.from(openPullRequestsWithLabels))
|
||||||
|
|
||||||
|
const customConfig = Object.assign({}, DefaultConfiguration)
|
||||||
|
customConfig.categories = [
|
||||||
|
{
|
||||||
|
title: '## 🚀 Features',
|
||||||
|
labels: ['Feature'],
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
pattern: '6',
|
||||||
|
on_property: 'number'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
pattern: 'merged',
|
||||||
|
on_property: 'status'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
exhaustive: true
|
||||||
|
},{
|
||||||
|
title: '## 🐛 Issues',
|
||||||
|
labels: ['Issue'],
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
pattern: 'merged',
|
||||||
|
on_property: 'status'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
exhaustive: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
console.log(buildChangelogTest(customConfig, prs))
|
||||||
|
|
||||||
expect(buildChangelogTest(customConfig, prs)).toStrictEqual(
|
expect(buildChangelogTest(customConfig, prs)).toStrictEqual(
|
||||||
`## Open PRs only\n\n- Still pending open pull request\n - PR: #6\n\n`
|
`## 🚀 Features\n\n- [ABC-1234] - this is a PR 1 title message\n - PR: #1\n- [ABC-1234] - this is a PR 3 title message\n - PR: #3\n- Still pending open pull request\n - PR: #6\n\n## 🐛 Issues\n\n- [ABC-4321] - this is a PR 2 title message\n - PR: #2\n- [ABC-1234] - this is a PR 3 title message\n - PR: #3\n\n`
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -549,8 +625,8 @@ it('Use Rules to get all open PRs in one Category and merged categorised.', asyn
|
|||||||
title: '## Open PRs only',
|
title: '## Open PRs only',
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
pattern: "open",
|
pattern: 'open',
|
||||||
on_property: "status"
|
on_property: 'status'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -559,11 +635,11 @@ it('Use Rules to get all open PRs in one Category and merged categorised.', asyn
|
|||||||
labels: ['Feature', 'Issue'],
|
labels: ['Feature', 'Issue'],
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
pattern: "merged",
|
pattern: 'merged',
|
||||||
on_property: "status"
|
on_property: 'status'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
exhaustive: true,
|
exhaustive: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
expect(buildChangelogTest(customConfig, prs)).toStrictEqual(
|
expect(buildChangelogTest(customConfig, prs)).toStrictEqual(
|
||||||
@@ -571,6 +647,7 @@ it('Use Rules to get all open PRs in one Category and merged categorised.', asyn
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
function buildChangelogTest(config: Configuration, prs: PullRequestInfo[]): string {
|
function buildChangelogTest(config: Configuration, prs: PullRequestInfo[]): string {
|
||||||
return buildChangelog(DefaultDiffInfo, prs, {
|
return buildChangelog(DefaultDiffInfo, prs, {
|
||||||
owner: 'mikepenz',
|
owner: 'mikepenz',
|
||||||
|
|||||||
Reference in New Issue
Block a user