Skip to content

Commit

Permalink
Added tests
Browse files Browse the repository at this point in the history
  • Loading branch information
masylum committed Jul 12, 2011
1 parent 67cc01f commit 64b87d0
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
4 changes: 3 additions & 1 deletion lib/helpers/namespacer.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,10 @@ NAMESPACER.addFieldFind = function (visibility, args) {
NAMESPACER.addFieldFindOne = function (visibility, args) {
var fields = _getFields(visibility);

// selector, callback
if (args.length <= 2) {
args.splice(1, 0, { fields: fields });
// selector, fields, callback
} else {
args[1] = _.defaults({ fields: fields }, args[1]);
}
Expand Down Expand Up @@ -147,7 +149,7 @@ NAMESPACER.filter = function (namespaces, namespace, fn, args) {
if (fn === 'findAndModify') {
NAMESPACER.addFieldFindAndModify(visibility, args);
NAMESPACER.filterUpdate(visibility, args[2]);
} else if (fn == 'findOne') {
} else if (fn === 'findOne') {
NAMESPACER.addFieldFindOne(visibility, args);
} else if (fn.match(/^find/)) {
NAMESPACER.addFieldFind(visibility, args);
Expand Down
21 changes: 21 additions & 0 deletions test/helpers/namespacer_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,27 @@ testosterone
assert.deepEqual(test(namespaces, 'modern'), ['mile.davis', 'coltrane', 'cohen', 'corea']);
})

.add('`addFieldFindOne` adds `fields` to findOne method if using a namespace', function () {
var test = Namespacer.addFieldFindOne
, args
, cb = function () {}
, fields = {fields: {zemba: 1, fleiba: 1, 'nested.attribute': 1}}
, visibility = ['nested.attribute', 'zemba', 'fleiba'];

args = [{_id: 1}, cb];
test(visibility, args);
assert.deepEqual(args[1], fields);

args = [{_id: 1}, {timeout: 1}, cb];
test(visibility, args);
assert.deepEqual(args[1].fields, fields.fields);
assert.deepEqual(args[1].timeout, 1);

args = [{_id: 1}, {fields: {zemba: -1}}, cb];
test(visibility, args);
assert.deepEqual(args[1], fields);
})

.add('`addFieldFind` adds `fields` to find methods if using a namespace', function () {
var test = Namespacer.addFieldFind
, args
Expand Down

0 comments on commit 64b87d0

Please sign in to comment.