|
|
|
|
|
|
|
var generate = require('../../../query/sort');
|
|
|
|
var population = 'population';
|
|
|
|
var popularity = 'popularity';
|
|
|
|
var weights = require('pelias-suggester-pipeline').weights;
|
|
|
|
|
|
|
|
module.exports.tests = {};
|
|
|
|
|
|
|
|
module.exports.tests.interface = function(test, common) {
|
|
|
|
test('valid interface', function(t) {
|
|
|
|
t.equal(typeof generate, 'object', 'valid object');
|
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
var expected = [
|
|
|
|
{
|
|
|
|
'_script': {
|
|
|
|
'file': 'admin_boost',
|
|
|
|
'type': 'number',
|
|
|
|
'order': 'desc'
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'_script': {
|
|
|
|
'file': population,
|
|
|
|
'type': 'number',
|
|
|
|
'order': 'desc'
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'_script': {
|
|
|
|
'file': popularity,
|
|
|
|
'type': 'number',
|
|
|
|
'order': 'desc'
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'_script': {
|
|
|
|
'params': {
|
|
|
|
'weights': weights
|
|
|
|
},
|
|
|
|
'file': 'weights',
|
|
|
|
'type': 'number',
|
|
|
|
'order': 'desc'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
module.exports.tests.query = function(test, common) {
|
|
|
|
test('valid part of query', function(t) {
|
|
|
|
var sort = generate;
|
|
|
|
t.deepEqual(sort, expected, 'valid sort part of the query');
|
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports.all = function (tape, common) {
|
|
|
|
|
|
|
|
function test(name, testFunction) {
|
|
|
|
return tape('sort query ' + name, testFunction);
|
|
|
|
}
|
|
|
|
|
|
|
|
for( var testCase in module.exports.tests ){
|
|
|
|
module.exports.tests[testCase](test, common);
|
|
|
|
}
|
|
|
|
};
|