mirror of https://github.com/pelias/api.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
207 lines
4.8 KiB
207 lines
4.8 KiB
var generatePermutations = require('../../../middleware/generatePermutations')(); |
|
|
|
module.exports.tests = {}; |
|
|
|
module.exports.tests.confidenceScore = function(test, common) { |
|
test('undefined req.clean should not throw exception', function(t) { |
|
var req = {}; |
|
var res = {}; |
|
var next_called = false; |
|
|
|
function testIt() { |
|
generatePermutations(req, res, function() { next_called = true; }); |
|
} |
|
|
|
t.doesNotThrow(testIt, 'an exception should not have been thrown'); |
|
t.ok(next_called); |
|
t.end(); |
|
|
|
}); |
|
|
|
test('undefined req.clean.parsed_text should not throw exception', function(t) { |
|
var req = { |
|
clean: {} |
|
}; |
|
var res = {}; |
|
var next_called = false; |
|
|
|
function testIt() { |
|
generatePermutations(req, res, function() { next_called = true; }); |
|
} |
|
|
|
t.doesNotThrow(testIt, 'an exception should not have been thrown'); |
|
t.ok(next_called); |
|
t.equal(req.clean.permutations, undefined); |
|
t.end(); |
|
|
|
}); |
|
|
|
test('empty req.clean.parsed_text should not throw exception', function(t) { |
|
var req = { |
|
clean: { |
|
parsed_text: {} |
|
} |
|
}; |
|
var res = {}; |
|
var next_called = false; |
|
|
|
function testIt() { |
|
generatePermutations(req, res, function() { next_called = true; }); |
|
} |
|
|
|
t.doesNotThrow(testIt, 'an exception should not have been thrown'); |
|
t.ok(next_called); |
|
t.equal(req.clean.permutations, undefined); |
|
t.end(); |
|
|
|
}); |
|
|
|
test('parsed_text with number should add permutations for less granular searches', function(t) { |
|
var req = { |
|
clean: { |
|
parsed_text: { |
|
number: '1234', |
|
street: 'street name', |
|
city: 'city name', |
|
state: 'state name' |
|
} |
|
} |
|
}; |
|
var res = {}; |
|
var next_called = false; |
|
|
|
function testIt() { |
|
generatePermutations(req, res, function() { next_called = true; }); |
|
} |
|
|
|
var expected_permutations = [ |
|
{ |
|
number: '1234', |
|
street: 'street name', |
|
city: 'city name', |
|
state: 'state name' |
|
}, |
|
{ |
|
street: 'street name', |
|
city: 'city name', |
|
state: 'state name' |
|
}, |
|
{ |
|
city: 'city name', |
|
state: 'state name' |
|
}, |
|
{ |
|
state: 'state name' |
|
} |
|
]; |
|
|
|
testIt(); |
|
|
|
t.deepEquals(req.clean.permutations, expected_permutations); |
|
t.ok(next_called); |
|
t.end(); |
|
|
|
}); |
|
|
|
// |
|
// test('empty res and req should not throw exception', function(t) { |
|
// function testIt() { |
|
// confidenceScore({}, {}, function() {}); |
|
// } |
|
// |
|
// t.doesNotThrow(testIt, 'an exception should not have been thrown'); |
|
// t.end(); |
|
// }); |
|
// |
|
// test('res.results without parsed_text should not throw exception', function(t) { |
|
// var req = {}; |
|
// var res = { |
|
// data: [{ |
|
// name: 'foo' |
|
// }], |
|
// meta: [10] |
|
// }; |
|
// |
|
// function testIt() { |
|
// confidenceScore(req, res, function() {}); |
|
// } |
|
// |
|
// t.doesNotThrow(testIt, 'an exception should not have been thrown'); |
|
// t.end(); |
|
// }); |
|
// |
|
// test('hit without address should not error', function(t) { |
|
// var req = { |
|
// clean: { |
|
// text: 'test name3', |
|
// parsed_text: { |
|
// postalcode: 12345 |
|
// } |
|
// } |
|
// }; |
|
// var res = { |
|
// data: [{ |
|
// name: { |
|
// default: 'foo' |
|
// } |
|
// }], |
|
// meta: { |
|
// scores: [10] |
|
// } |
|
// }; |
|
// |
|
// function testIt() { |
|
// confidenceScore(req, res, function() {}); |
|
// } |
|
// |
|
// t.doesNotThrow(testIt, 'an exception should not have been thrown with no address'); |
|
// t.end(); |
|
// }); |
|
// |
|
// |
|
// test('res.results without parsed_text should not throw exception', function(t) { |
|
// var req = { |
|
// clean: { text: 'test name1' } |
|
// }; |
|
// var res = { |
|
// data: [{ |
|
// _score: 10, |
|
// found: true, |
|
// value: 1, |
|
// center_point: { lat: 100.1, lon: -50.5 }, |
|
// name: { default: 'test name1' }, |
|
// parent: { |
|
// country: ['country1'], |
|
// region: ['state1'], |
|
// county: ['city1'] |
|
// } |
|
// }, { |
|
// _score: 20, |
|
// value: 2, |
|
// center_point: { lat: 100.2, lon: -51.5 }, |
|
// name: { default: 'test name2' }, |
|
// parent: { |
|
// country: ['country2'], |
|
// region: ['state2'], |
|
// county: ['city2'] |
|
// } |
|
// }], |
|
// meta: {scores: [10]} |
|
// }; |
|
// |
|
// confidenceScore(req, res, function() {}); |
|
// t.equal(res.data[0].confidence, 0.6, 'score was set'); |
|
// t.end(); |
|
// }); |
|
|
|
}; |
|
|
|
module.exports.all = function (tape, common) { |
|
function test(name, testFunction) { |
|
return tape('[middleware] confidenceScore: ' + name, testFunction); |
|
} |
|
|
|
for( var testCase in module.exports.tests ){ |
|
module.exports.tests[testCase](test, common); |
|
} |
|
};
|
|
|