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",