コード例 #1
0
test('promptForList() should handle 0 selected items correctly', (t) => {
  const inquirerMock = {
    prompt: (opts) => Promise.resolve({plugins: []})
  }

  mockery.registerMock('inquirer', inquirerMock)

  const PI = require(pluginInstallerModule)
  const pi = new PI()
  const input = ['plugin1', 'plugin2', 'plugin3']
  const expectedSkipped = input
  return pi.promptForList(input).then((selected) => {
    t.is(selected.length, 0)
    t.deepEqual(pi.skipped, expectedSkipped)
  })
})
コード例 #2
0
test('promptForList() should set the selected and skipped plugins and resolve with the plugin names to install', (t) => {
  const inquirerMock = {
    prompt: (opts) => Promise.resolve({plugins: [opts.choices[0]]})
  }

  mockery.registerMock('inquirer', inquirerMock)

  const PI = require(pluginInstallerModule)
  const pi = new PI()
  const input = ['plugin1', 'plugin2', 'plugin3']
  const expectedSkipped = input.slice(1)
  return pi.promptForList(input).then((selected) => {
    t.is(selected.length, 1)
    t.is(selected[0], 'plugin1')
    t.deepEqual(pi.skipped, expectedSkipped)
  })
})