Add tests for info command

This commit is contained in:
Adam Stankiewicz
2015-01-05 06:07:01 +01:00
parent 9d06fce5f9
commit 537cd42097
4 changed files with 56 additions and 7 deletions

View File

@@ -7,6 +7,10 @@ var Tracker = require('../util/analytics').Tracker;
var defaultConfig = require('../config');
function info(logger, endpoint, property, config) {
if (!endpoint) {
return;
}
var repository;
var decEndpoint;
var tracker;
@@ -58,10 +62,6 @@ info.line = function (logger, argv) {
var pkg = options.argv.remain[1];
var property = options.argv.remain[2];
if (!pkg) {
return new Q();
}
return info(logger, pkg, property);
};

View File

@@ -1,6 +1,7 @@
describe('integration tests', function () {
require('./help');
require('./home');
require('./info');
require('./init');
require('./install');
require('./list');

47
test/commands/info.js Normal file
View File

@@ -0,0 +1,47 @@
var expect = require('expect.js');
var helpers = require('../helpers');
var info = helpers.command('info');
describe('bower info', function () {
var meta = {
name: 'package',
version: '0.1.2',
homepage: 'http://bower.io',
description: 'Hello world!'
};
var meta2 = {
name: 'package',
version: '0.1.3',
homepage: 'http://bower.io',
description: 'Hello world! Hello!'
};
var package = new helpers.TempDir({
'0.1.2': { 'bower.json': meta },
'0.1.3': { 'bower.json': meta2 }
});
it('just returns if not package is specified', function () {
return helpers.run(info).spread(function(results) {
expect(results).to.be(undefined);
});
});
it('shows info about given package', function () {
return package.prepareGit({}).then(function() {
return helpers.run(info, [package.path]).spread(function(results) {
expect(results).to.eql({
'latest': meta2,
'name': package.path,
'versions': [
'0.1.3',
'0.1.2'
]
});
});
});
});
});

View File

@@ -53,10 +53,11 @@ exports.TempDir = (function() {
this.defaults = defaults;
}
TempDir.prototype.create = function (files) {
TempDir.prototype.create = function (files, defaults) {
var that = this;
files = object.merge(files || {}, this.defaults);
defaults = defaults || this.defaults || {};
files = object.merge(files || {}, defaults);
if (files) {
object.forOwn(files, function (contents, filepath) {
@@ -103,7 +104,7 @@ exports.TempDir = (function() {
rimraf.sync(fullPath);
});
that.create(files);
that.create(files, {});
}).then(function () {
return that.git('add', '-A');
}).then(function () {