nodejs/deps/npm/test/lib/lifecycle-cmd.js
npm CLI robot 66b1356ebc
deps: upgrade npm to 9.3.0
PR-URL: https://github.com/nodejs/node/pull/46193
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2023-01-17 03:38:23 +00:00

33 lines
862 B
JavaScript

const t = require('tap')
const mockNpm = require('../fixtures/mock-npm')
const LifecycleCmd = require('../../lib/lifecycle-cmd.js')
t.test('create a lifecycle command', async t => {
let runArgs = null
const { npm } = await mockNpm(t)
npm.exec = async (cmd, args) => {
if (cmd === 'run-script') {
runArgs = args
return 'called the right thing'
}
}
class TestStage extends LifecycleCmd {
static get name () {
return 'test-stage'
}
}
const cmd = new TestStage(npm)
t.match(cmd.usage, /test-stage/)
let result
result = await cmd.exec(['some', 'args'])
t.same(runArgs, ['test-stage', 'some', 'args'])
t.strictSame(result, 'called the right thing')
result = await cmd.execWorkspaces(['some', 'args'])
t.same(runArgs, ['test-stage', 'some', 'args'])
t.strictSame(result, 'called the right thing')
})