Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(tests): use config defaults #3211

Merged
merged 1 commit into from
May 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/outdated.js
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ class Outdated extends BaseCommand {
: edge.dev ? 'devDependencies'
: 'dependencies'

for (const omitType of this.npm.config.get('omit') || []) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can't be empty, config definition only allows for an array!

for (const omitType of this.npm.config.get('omit')) {
if (node[omitType])
return
}
Expand Down
8 changes: 5 additions & 3 deletions test/fixtures/mock-npm.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
// npm.config You still need a separate flatOptions but this is the first step
// to eventually just using npm itself

const realConfig = require('../../lib/utils/config')

const mockLog = {
clearProgress: () => {},
disableProgress: () => {},
Expand All @@ -25,10 +27,10 @@ const mockNpm = (base = {}) => {
config: {
// for now just set `find` to what config.find should return
// this works cause `find` is not an existing config entry
find: (k) => config[k],
get: (k) => config[k],
find: (k) => ({...realConfig.defaults, ...config})[k],
get: (k) => ({...realConfig.defaults, ...config})[k],
set: (k, v) => config[k] = v,
list: [config]
list: [{ ...realConfig.defaults, ...config}]
},
}
}
Expand Down
9 changes: 6 additions & 3 deletions test/lib/dist-tag.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,9 @@ const DistTag = t.mock('../../lib/dist-tag.js', {
},
})

const config = {}
const npm = mockNpm({
config: {
global: false,
},
config,
output: msg => {
result = result ? [result, msg].join('\n') : msg
},
Expand Down Expand Up @@ -349,6 +348,10 @@ t.test('add using valid semver range as name', (t) => {

t.test('add missing args', (t) => {
npm.prefix = t.testdir({})
config.tag = ''
t.teardown(() => {
delete config.tag
})
distTag.exec(['add', '@scoped/[email protected]'], (err) => {
t.matchSnapshot(err, 'should exit usage error message')
t.end()
Expand Down
20 changes: 4 additions & 16 deletions test/lib/view.js
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ t.test('should log package info', t => {
},
})
const npm = mockNpm({
config: { global: false },
config: { unicode: false },
})
const view = new View(npm)

Expand All @@ -268,10 +268,7 @@ t.test('should log package info', t => {
},
})
const unicodeNpm = mockNpm({
config: {
global: false,
unicode: true,
},
config: { unicode: true },
})
const viewUnicode = new ViewUnicode(unicodeNpm)

Expand Down Expand Up @@ -358,7 +355,6 @@ t.test('should log info of package in current working dir', t => {
prefix: testDir,
config: {
tag: '1.0.0',
global: false,
},
})
const view = new View(npm)
Expand Down Expand Up @@ -389,7 +385,6 @@ t.test('should log info by field name', t => {
const jsonNpm = mockNpm({
config: {
json: true,
global: false,
},
})

Expand All @@ -400,9 +395,7 @@ t.test('should log info by field name', t => {
packument,
},
})
const npm = mockNpm({
config: { global: false },
})
const npm = mockNpm()
const view = new View(npm)

t.test('readme', t => {
Expand Down Expand Up @@ -489,7 +482,6 @@ t.test('throw ENOENT error if package.json misisng', (t) => {
const View = t.mock('../../lib/view.js')
const npm = mockNpm({
prefix: testDir,
config: { global: false },
})
const view = new View(npm)
view.exec([], (err) => {
Expand All @@ -506,7 +498,6 @@ t.test('throw EJSONPARSE error if package.json not json', (t) => {
const View = t.mock('../../lib/view.js')
const npm = mockNpm({
prefix: testDir,
config: { global: false },
})
const view = new View(npm)
view.exec([], (err) => {
Expand All @@ -523,7 +514,6 @@ t.test('throw error if package.json has no name', (t) => {
const View = t.mock('../../lib/view.js')
const npm = mockNpm({
prefix: testDir,
config: { global: false },
})
const view = new View(npm)
view.exec([], (err) => {
Expand All @@ -541,7 +531,6 @@ t.test('throws when unpublished', (t) => {
const npm = mockNpm({
config: {
tag: '1.0.1',
global: false,
},
})
const view = new View(npm)
Expand Down Expand Up @@ -581,6 +570,7 @@ t.test('workspaces', t => {
},
})
const config = {
unicode: false,
tag: 'latest',
}
let warnMsg
Expand Down Expand Up @@ -684,7 +674,6 @@ t.test('completion', async t => {
const npm = mockNpm({
config: {
tag: '1.0.1',
global: false,
},
})
const view = new View(npm)
Expand All @@ -700,7 +689,6 @@ t.test('no registry completion', async t => {
const npm = mockNpm({
config: {
tag: '1.0.1',
global: false,
},
})
const view = new View(npm)
Expand Down