serverless/test/unit/lib/cli/local-serverless-path.test.js
2024-05-29 11:51:04 -04:00

38 lines
1.2 KiB
JavaScript

'use strict'
const { expect } = require('chai')
const path = require('path')
const os = require('os')
const fsp = require('fs').promises
const fse = require('fs-extra')
describe('test/unit/lib/cli/local-serverless.test.js', () => {
beforeEach(() => {
delete require.cache[
require.resolve('../../../../lib/cli/local-serverless-path')
]
})
it('should resolve with `null` when no local installation is found', () => {
expect(require('../../../../lib/cli/local-serverless-path')).to.equal(null)
})
it('should resolve with `null` when no local installation is found', async () => {
const tmpServerlessPath = path.resolve(
await fsp.realpath(os.homedir()),
'node_modules/serverless',
)
await fse.ensureDir(path.resolve(tmpServerlessPath, 'lib'))
await Promise.all([
fse.ensureFile(path.resolve(tmpServerlessPath, 'lib/serverless.js')),
fsp.writeFile(
path.resolve(tmpServerlessPath, 'package.json'),
JSON.stringify({ main: 'lib/serverless.js' }),
),
])
expect(
await fsp.realpath(require('../../../../lib/cli/local-serverless-path')),
).to.equal(tmpServerlessPath)
})
})