Skip to content

Commit 1b8c7e8

Browse files
committed
Update tests for changelog updates
1 parent 7ba113e commit 1b8c7e8

1 file changed

Lines changed: 15 additions & 7 deletions

File tree

shared/github-scripts/changelog-release-helper.unit.test.mjs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import fs from 'fs'
2+
import { join } from 'path'
23

34
import { outdent } from 'outdent'
45

@@ -9,6 +10,13 @@ import {
910

1011
jest.mock('fs')
1112

13+
const CHANGELOG_FILE_PATH = join(
14+
import.meta.dirname,
15+
'..',
16+
'..',
17+
'CHANGELOG.md'
18+
)
19+
1220
describe('Changelog release helper', () => {
1321
beforeEach(() => {
1422
jest.mocked(fs.readFileSync).mockReturnValue(`
@@ -26,15 +34,15 @@ describe('Changelog release helper', () => {
2634
it('adds a new heading to the changelog for the new version', () => {
2735
updateChangelog('3.1.0', '3.0.0')
2836
expect(fs.writeFileSync).toHaveBeenCalledWith(
29-
'./CHANGELOG.md',
37+
CHANGELOG_FILE_PATH,
3038
expect.stringContaining('## v3.1.0 (Feature release)')
3139
)
3240
})
3341

3442
it('prefixes a new heading with a pre-release identifier if the new version is a pre-release', () => {
3543
updateChangelog('3.1.0-beta.0', '3.0.0')
3644
expect(fs.writeFileSync).toHaveBeenCalledWith(
37-
'./CHANGELOG.md',
45+
CHANGELOG_FILE_PATH,
3846
expect.stringContaining('## v3.1.0-beta.0 (Beta feature release)')
3947
)
4048
})
@@ -52,7 +60,7 @@ describe('Changelog release helper', () => {
5260

5361
updateChangelog('3.1.0-beta.1', '3.1.0-beta.0')
5462
expect(fs.writeFileSync).toHaveBeenCalledWith(
55-
'./CHANGELOG.md',
63+
CHANGELOG_FILE_PATH,
5664
expect.stringContaining('## v3.1.0-beta.1 (Beta feature release)')
5765
)
5866
})
@@ -70,7 +78,7 @@ describe('Changelog release helper', () => {
7078

7179
updateChangelog('3.1.0-beta.1', '3.1.0-beta.0')
7280
expect(fs.writeFileSync).toHaveBeenCalledWith(
73-
'./CHANGELOG.md',
81+
CHANGELOG_FILE_PATH,
7482
expect.stringContaining(outdent`
7583
## v3.1.0-beta.1 (Beta feature release)
7684
> [!WARNING]
@@ -79,7 +87,7 @@ describe('Changelog release helper', () => {
7987
`)
8088
)
8189
expect(fs.writeFileSync).toHaveBeenCalledWith(
82-
'./CHANGELOG.md',
90+
CHANGELOG_FILE_PATH,
8391
expect.stringContaining('To install this version with npm')
8492
)
8593
})
@@ -97,7 +105,7 @@ describe('Changelog release helper', () => {
97105

98106
updateChangelog('3.1.1', '3.1.0')
99107
expect(fs.writeFileSync).not.toHaveBeenCalledWith(
100-
'./CHANGELOG.md',
108+
CHANGELOG_FILE_PATH,
101109
expect.stringContaining('> [!WARNING]')
102110
)
103111
})
@@ -115,7 +123,7 @@ describe('Changelog release helper', () => {
115123

116124
updateChangelog('3.1.1', '3.1.0')
117125
expect(fs.writeFileSync).toHaveBeenCalledWith(
118-
'./CHANGELOG.md',
126+
CHANGELOG_FILE_PATH,
119127
expect.stringContaining(outdent`
120128
## v3.1.1 (Fix release)
121129
To install this version with npm, run \`npm install govuk-frontend@3.1.1\`. You can also find more information about [how to stay up to date](https://frontend.design-system.service.gov.uk/staying-up-to-date/#updating-to-the-latest-version) in our documentation.

0 commit comments

Comments
 (0)