var generate = require('../../../query/autocomplete'); var parser = require('../../../helper/query_parser'); module.exports.tests = {}; module.exports.tests.interface = function(test, common) { test('valid interface', function(t) { t.equal(typeof generate, 'function', 'valid function'); t.end(); }); }; module.exports.tests.query = function(test, common) { test('valid lingustic-only autocomplete', function(t) { var query = generate({ text: 'test' }); var compiled = JSON.parse( JSON.stringify( query ) ); var expected = require('../fixture/autocomplete_linguistic_only'); t.deepEqual(compiled, expected, 'valid autocomplete query'); t.end(); }); test('autocomplete + focus', function(t) { var query = generate({ text: 'test', 'focus.point.lat': 29.49136, 'focus.point.lon': -82.50622 }); var compiled = JSON.parse( JSON.stringify( query ) ); var expected = require('../fixture/autocomplete_linguistic_focus'); t.deepEqual(compiled, expected, 'valid autocomplete query'); t.end(); }); test('autocomplete + focus on null island', function(t) { var query = generate({ text: 'test', 'focus.point.lat': 0, 'focus.point.lon': 0 }); var compiled = JSON.parse( JSON.stringify( query ) ); var expected = require('../fixture/autocomplete_linguistic_focus_null_island'); t.deepEqual(compiled, expected, 'valid autocomplete query'); t.end(); }); }; module.exports.all = function (tape, common) { function test(name, testFunction) { return tape('autocomplete query ' + name, testFunction); } for( var testCase in module.exports.tests ){ module.exports.tests[testCase](test, common); } };