• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Fixes Issue #1770
2var common = require('../common-tap.js')
3var test = require('tap').test
4var npm = require('../../')
5var osenv = require('osenv')
6var path = require('path')
7var fs = require('fs')
8var rimraf = require('rimraf')
9var mkdirp = require('mkdirp')
10var pkg = path.resolve(__dirname, 'outdated-notarget')
11var cache = path.resolve(pkg, 'cache')
12var mr = require('npm-registry-mock')
13
14test('outdated-target: if no viable version is found, show error', function (t) {
15  t.plan(1)
16  setup()
17  mr({ port: common.port }, function (er, s) {
18    npm.load({ cache: cache, registry: common.registry }, function () {
19      npm.commands.update(function (er) {
20        t.equal(er.code, 'ETARGET')
21        s.close()
22        t.end()
23      })
24    })
25  })
26})
27
28test('cleanup', function (t) {
29  process.chdir(osenv.tmpdir())
30  rimraf.sync(pkg)
31  t.end()
32})
33
34function setup () {
35  mkdirp.sync(pkg)
36  mkdirp.sync(cache)
37  fs.writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify({
38    author: 'Evan Lucas',
39    name: 'outdated-notarget',
40    version: '0.0.0',
41    description: 'Test for outdated-target',
42    dependencies: {
43      underscore: '~199.7.1'
44    }
45  }), 'utf8')
46  process.chdir(pkg)
47}
48