mirror of
https://github.com/pnpm/pnpm.git
synced 2026-03-30 13:02:03 -04:00
33 lines
1.4 KiB
TypeScript
33 lines
1.4 KiB
TypeScript
import { WANTED_LOCKFILE } from '@pnpm/constants'
|
|
import { jest } from '@jest/globals'
|
|
|
|
jest.unstable_mockModule('@pnpm/git-utils', () => ({ getCurrentBranch: jest.fn() }))
|
|
|
|
const { getCurrentBranch } = await import('@pnpm/git-utils')
|
|
const { getWantedLockfileName } = await import('../lib/lockfileName.js')
|
|
|
|
describe('lockfileName', () => {
|
|
afterEach(() => {
|
|
jest.mocked(getCurrentBranch).mockReset()
|
|
})
|
|
|
|
test('returns default lockfile name if useGitBranchLockfile is off', async () => {
|
|
await expect(getWantedLockfileName()).resolves.toBe(WANTED_LOCKFILE)
|
|
})
|
|
|
|
test('returns git branch lockfile name', async () => {
|
|
jest.mocked(getCurrentBranch).mockReturnValue(Promise.resolve('main'))
|
|
await expect(getWantedLockfileName({ useGitBranchLockfile: true })).resolves.toBe('pnpm-lock.main.yaml')
|
|
})
|
|
|
|
test('returns git branch lockfile name when git branch contains clashes', async () => {
|
|
jest.mocked(getCurrentBranch).mockReturnValue(Promise.resolve('a/b/c'))
|
|
await expect(getWantedLockfileName({ useGitBranchLockfile: true })).resolves.toBe('pnpm-lock.a!b!c.yaml')
|
|
})
|
|
|
|
test('returns git branch lockfile name when git branch contains uppercase', async () => {
|
|
jest.mocked(getCurrentBranch).mockReturnValue(Promise.resolve('aBc'))
|
|
await expect(getWantedLockfileName({ useGitBranchLockfile: true })).resolves.toBe('pnpm-lock.abc.yaml')
|
|
})
|
|
})
|