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.
92 lines
1.9 KiB
92 lines
1.9 KiB
|
|
var generate = require('../../../query/sort'); |
|
var admin_boost = 'admin_boost'; |
|
var population = 'population'; |
|
var popularity = 'popularity'; |
|
var category = 'category'; |
|
var category_weights = require('../../../helper/category_weights'); |
|
var admin_weights = require('../../../helper/admin_weights'); |
|
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.equal(typeof generate({input: 'foobar'}), 'object', 'valid object'); |
|
t.end(); |
|
}); |
|
}; |
|
|
|
var expected = [ |
|
{ |
|
'_script': { |
|
'file': admin_boost, |
|
'type': 'number', |
|
'order': 'desc' |
|
} |
|
}, |
|
{ |
|
'_script': { |
|
'file': popularity, |
|
'type': 'number', |
|
'order': 'desc' |
|
} |
|
}, |
|
{ |
|
'_script': { |
|
'file': population, |
|
'type': 'number', |
|
'order': 'desc' |
|
} |
|
}, |
|
{ |
|
'_script': { |
|
'params': { |
|
'weights': admin_weights |
|
}, |
|
'file': 'weights', |
|
'type': 'number', |
|
'order': 'desc' |
|
} |
|
}, |
|
{ |
|
'_script': { |
|
'params': { |
|
'category_weights': category_weights |
|
}, |
|
'file': category, |
|
'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) { |
|
t.deepEqual(generate(), expected, 'valid sort part of the query'); |
|
t.deepEqual(generate( {} ), 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); |
|
} |
|
};
|
|
|