diff options
author | Gar <gar+gh@danger.computer> | 2021-10-08 04:40:03 +0300 |
---|---|---|
committer | Gar <gar+gh@danger.computer> | 2021-11-04 00:04:22 +0300 |
commit | 8ffeb71dfb248b4a76744bd06cd4d6100f17c8ae (patch) | |
tree | b44d12a79dff3afe0c92df6f6c0219f6d91ad471 /test/lib/commands/birthday.js | |
parent | 85d59191cf681eabd8827ca58f925c1063776f61 (diff) |
chore: refactor commands
This is the first phase of refactoring the internal structure of the npm
commands to set us up for future changes. This iteration changes the
function signature of `exec` for all the commands to be a async (no more
callbacks), and also groups all the commands into their own
subdirectory.
It also removes the Proxy `npm.commands` object, in favor of an
`npm.cmd` and `npm.exec` function that breaks up the two things that
proxy was doing. Namely, getting to the attributes of a given command
(`npm.cmd` now does this), and actually running the command `npm.exec`
does this.
PR-URL: https://github.com/npm/cli/pull/3959
Credit: @wraithgar
Close: #3959
Reviewed-by: @lukekarrys
Diffstat (limited to 'test/lib/commands/birthday.js')
-rw-r--r-- | test/lib/commands/birthday.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/lib/commands/birthday.js b/test/lib/commands/birthday.js new file mode 100644 index 000000000..c92f197c5 --- /dev/null +++ b/test/lib/commands/birthday.js @@ -0,0 +1,28 @@ +const t = require('tap') +const { fake: mockNpm } = require('../../fixtures/mock-npm') + +t.test('birthday', async t => { + t.plan(4) + const config = { + yes: false, + package: [], + } + const npm = mockNpm({ + config, + cmd: async (cmd) => { + t.ok(cmd, 'exec', 'calls out to exec command') + return { + exec: async (args) => { + t.equal(npm.config.get('yes'), true, 'should say yes') + t.strictSame(npm.config.get('package'), ['@npmcli/npm-birthday'], + 'uses correct package') + t.strictSame(args, ['npm-birthday'], 'called with correct args') + }, + } + }, + }) + const Birthday = require('../../../lib/commands/birthday.js') + const birthday = new Birthday(npm) + + await birthday.exec([]) +}) |