Skip to content

Commit

Permalink
Additional testing for properties and returning promises
Browse files Browse the repository at this point in the history
  • Loading branch information
brandonhorst committed Aug 19, 2014
1 parent 300d761 commit e071930
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 1 deletion.
4 changes: 4 additions & 0 deletions lib/resolve.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,10 @@ function resolveRecurse(options, done) {
options = {};
}

if (!options && !done) {
options = {};
}

//get the default options, and then get the dependent modules
//nodify it, to conform to a typical node API but still return a promise
return mergeDefaultOptions(options).then(function(options) {
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
"homepage": "https://github.com/brandonhorst/node-resolve-recurse",
"devDependencies": {
"chai": "^1.9.1",
"chai-as-promised": "^4.1.1",
"coveralls": "^2.11.1",
"istanbul": "^0.3.0",
"jshint": "^2.5.3",
Expand Down
27 changes: 26 additions & 1 deletion test/resolve.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ var path = require('path');
var pkg = require('../package.json')
var resolve = require('../lib/resolve');

chai.use(require("chai-as-promised"));

var depGraph = {
name: 'test-module',
path: path.join(__dirname, 'test-module'),
Expand Down Expand Up @@ -51,6 +53,11 @@ describe('resolve-recurse', function() {
});
});

it('returns a promise', function() {
return expect(resolve()).to.eventually.have.property('name');
});


it('gets the path and version of the provided module', function(done) {
var options = { path: './test-module' }

Expand All @@ -64,6 +71,7 @@ describe('resolve-recurse', function() {
});
});


it('gets dependencies of a given module', function(done) {
var options = { path: './test-module' }

Expand All @@ -76,6 +84,7 @@ describe('resolve-recurse', function() {
});
});


it('filters dependencies of a given module', function(done) {
var options = {
path: './test-module',
Expand All @@ -87,7 +96,23 @@ describe('resolve-recurse', function() {
resolve(options, function(err, module) {
expect(err).to.not.exist;

expect(module.dependencies).to.deep.equal(depGraph.dependencies.slice(0, 1));
expect(module.dependencies).to.deep.equal([depGraph.dependencies[0]]);

done();
});
});


it('gets dependencies from a different property', function(done) {
var options = {
path: './test-module',
properties: ['someOtherDependencies']
}

resolve(options, function(err, module) {
expect(err).to.not.exist;

expect(module.dependencies).to.deep.equal([depGraph.dependencies[1]]);

done();
});
Expand Down
3 changes: 3 additions & 0 deletions test/test-module/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@
"test-submodule-1": "^0.0.1",
"test-submodule-2": "^1.2.3",
"test-submodule-3": "^4.7.9"
},
"someOtherDependencies": {
"test-submodule-2": "^1.2.3"
}
}

0 comments on commit e071930

Please sign in to comment.