Browse Source

refactored _details tests to only _details sanitizer

pull/248/head
Stephen Hess 9 years ago
parent
commit
2f5a5b1972
  1. 40
      test/unit/sanitiser/_details.js

40
test/unit/sanitiser/_details.js

@ -1,46 +1,44 @@
var search = require('../../../sanitiser/search'),
_sanitize = search.sanitize,
sanitize = function(query, cb) { _sanitize({'query':query}, cb); };
var sanitize = require('../../../sanitiser/_details');
module.exports.tests = {};
module.exports.tests.sanitize_details = function(test, common) {
var invalid_values = [null, -1, 123, NaN, 'abc'];
invalid_values.forEach(function(details) {
test('invalid details param ' + details, function(t) {
sanitize({ text: 'test', lat: 0, lon: 0, details: details }, function( err, clean ){
t.equal(clean.details, false, 'default details set (to false)');
invalid_values.forEach(function(detailsValue) {
test('invalid details param ' + detailsValue, function(t) {
var req = {query: { details: detailsValue }};
sanitize(req);
t.equal(req.clean.details, false, 'default details set (to false)');
t.end();
});
});
});
var valid_values = ['true', true, 1, '1', 'yes', 'y'];
valid_values.forEach(function(details) {
test('valid details param ' + details, function(t) {
sanitize({ text: 'test', details: details }, function( err, clean ){
t.equal(clean.details, true, 'details set to true');
valid_values.forEach(function(detailsValue) {
test('valid details param ' + detailsValue, function(t) {
var req = {query: { details: detailsValue }};
sanitize(req);
t.equal(req.clean.details, true, 'details set to true');
t.end();
});
});
});
var valid_false_values = ['false', false, 0, '0', 'no', 'n'];
valid_false_values.forEach(function(details) {
test('test setting false explicitly ' + details, function(t) {
sanitize({ text: 'test', details: details }, function( err, clean ){
t.equal(clean.details, false, 'details set to false');
valid_false_values.forEach(function(detailsValue) {
test('test setting false explicitly ' + detailsValue, function(t) {
var req = {query: { details: detailsValue }};
sanitize(req);
t.equal(req.clean.details, false, 'details set to false');
t.end();
});
});
});
test('test default behavior', function(t) {
sanitize({ text: 'test' }, function( err, clean ){
t.equal(clean.details, true, 'details set to true');
var req = {query: {}};
sanitize(req);
t.equal(req.clean.details, true, 'details set to true');
t.end();
});
});
};
module.exports.all = function (tape, common) {

Loading…
Cancel
Save