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