chore: fix cli tests
Luke Karrys committed
Sep 24, 2023 at 15:55 UTC
593eb5f1d668f703d67b3ba98d5c77baa935ab2f
3 files changed
+11
-29
cli/package.json
-1
@@ -1,6 +1,5 @@
1
{
2
"name": "cli",
3
- "version": "1.0.0",
3
"private": true,
4
"repository": {
5
"url": "https://github.com/npm/documentation.git",
cli/test/index.js
+11
-27
@@ -33,7 +33,11 @@ const getReleases = () => [
33
},
34
]
35
36
-const mockBuild = async ({ releases, packument = {}, testdir: testdirOpts }) => {
36
+const mockBuild = async (t, {
37
+ releases = getReleases(),
38
+ packument = {},
39
+ testdir: testdirOpts,
40
+} = {}) => {
41
const rawNav = await fs.readFile(navPath, 'utf-8')
42
const nav = yaml.parse(rawNav)
43
@@ -100,6 +104,7 @@ const mockBuild = async ({ releases, packument = {}, testdir: testdirOpts }) =>
104
105
return {
106
testdir,
107
+ releases,
108
build: (opts) => build({
109
releases,
110
contentPath: join(testdir, 'content'),
@@ -110,9 +115,7 @@ const mockBuild = async ({ releases, packument = {}, testdir: testdirOpts }) =>
115
}
116
117
t.test('basic', async (t) => {
113
- const releases = getReleases()
114
- const { build, testdir } = await mockBuild({
115
- releases,
118
+ const { releases, build, testdir } = await mockBuild(t, {
119
testdir: {
120
'nav.yml': '- title: cli\n url: /cli',
121
},
@@ -122,20 +125,8 @@ t.test('basic', async (t) => {
125
t.strictSame(await fs.readdir(join(testdir, 'content')), releases.map(r => r.id))
126
})
127
125
-t.test('no default release', async (t) => {
126
- const releases = getReleases()
127
- const { build } = await mockBuild({
128
- releases,
129
- packument: { latest: '9999.99999.99999' },
130
- })
131
-
132
- await t.rejects(() => build())
133
-})
134
-
128
t.test('prereleases', async (t) => {
136
- const releases = getReleases()
137
- const { build, testdir } = await mockBuild({
138
- releases,
129
+ const { build, releases, testdir } = await mockBuild(t, {
130
packument: { versions: ['6.14.18', '7.24.2', '8.19.3', '9.0.0-pre.2'], latest: '8.19.3' },
131
})
132
@@ -148,9 +139,7 @@ t.test('prereleases', async (t) => {
139
})
140
141
t.test('earlier release is latest', async (t) => {
151
- const releases = getReleases()
152
- const { build } = await mockBuild({
153
- releases,
142
+ const { build } = await mockBuild(t, {
143
packument: { latest: '8.19.3' },
144
})
145
@@ -158,18 +147,13 @@ t.test('earlier release is latest', async (t) => {
147
})
148
149
t.test('can skip fetching latest', async (t) => {
161
- const releases = getReleases()
162
- const { build } = await mockBuild({
163
- releases,
164
- })
150
+ const { build } = await mockBuild(t)
151
152
await build({ useCurrent: true })
153
})
154
155
t.test('add variant to nav', async (t) => {
170
- const releases = getReleases()
171
- const { build } = await mockBuild({
172
- releases,
156
+ const { build } = await mockBuild(t, {
157
testdir: {
158
'nav.yml': '- title: cli\n url: /cli\n variants:\n - url: /cli/v0',
159
},
package-lock.json
-1
@@ -28,7 +28,6 @@
28
}
29
},
30
"cli": {
31
- "version": "1.0.0",
31
"dependencies": {
32
"@octokit/rest": "^19.0.5",
33
"front-matter": "^4.0.2",