Skip to content

Commit e118555

Browse files
authored
chore: improve on getPackageJson tests (#5582)
1 parent 694d005 commit e118555

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

tests/unit/utils/get-package-json.test.mjs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ import { readFile } from 'fs/promises'
22

33
import { beforeEach, describe, expect, test, vi } from 'vitest'
44

5-
import getPackageJson from '../../../src/utils/get-package-json.mjs'
6-
75
vi.mock('fs/promises', async (importActual) => {
86
const fs = await importActual()
97

@@ -14,20 +12,28 @@ vi.mock('fs/promises', async (importActual) => {
1412
})
1513

1614
describe('getPackageJson', () => {
17-
beforeEach(() => {
15+
let getPackageJson
16+
beforeEach(async () => {
1817
vi.clearAllMocks()
18+
vi.resetModules()
19+
const newImport = await import('../../../src/utils/get-package-json.mjs')
20+
getPackageJson = newImport.default
1921
})
2022

2123
test('should return the package.json of netlify-cli', async () => {
2224
const packageJson = await getPackageJson()
2325

2426
expect(packageJson).not.toBeUndefined()
2527
expect(packageJson.name).toBe('netlify-cli')
28+
})
2629

30+
test('should not re-read package.json', async () => {
31+
// first call reads from file-system
32+
await getPackageJson()
2733
expect(readFile).toHaveBeenCalledOnce()
28-
})
34+
vi.mocked(readFile).mockClear()
2935

30-
test('should not reread package.json', async () => {
36+
// second call should cache and not read from file-system
3137
const packageJson = await getPackageJson()
3238

3339
expect(packageJson).not.toBeUndefined()

0 commit comments

Comments
 (0)