Files
pnpm/packages/pnpmfile/test/index.ts
2021-02-15 05:06:10 +02:00

25 lines
1.1 KiB
TypeScript

import path from 'path'
import { requirePnpmfile, BadReadPackageHookError } from '@pnpm/pnpmfile'
test('ignoring a pnpmfile that exports undefined', () => {
const pnpmfile = requirePnpmfile(path.join(__dirname, 'pnpmfiles/undefined.js'), __dirname)
expect(pnpmfile).toBeUndefined()
})
test('readPackage hook run fails when returns undefined ', () => {
const pnpmfilePath = path.join(__dirname, 'pnpmfiles/readPackageNoReturn.js')
const pnpmfile = requirePnpmfile(pnpmfilePath, __dirname)
expect(() => {
pnpmfile.hooks.readPackage({})
}).toThrow(new BadReadPackageHookError(pnpmfilePath, 'readPackage hook did not return a package manifest object.'))
})
test('readPackage hook run fails when returned dependencies is not an object ', () => {
const pnpmfilePath = path.join(__dirname, 'pnpmfiles/readPackageNoObject.js')
const pnpmfile = requirePnpmfile(pnpmfilePath, __dirname)
expect(() => {
pnpmfile.hooks.readPackage({})
}).toThrow(new BadReadPackageHookError(pnpmfilePath, 'readPackage hook returned package manifest object\'s property \'dependencies\' must be an object.'))
})