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.

156 lines
3.8 KiB

var geojsonify = require('../../../helper/geojsonify');
module.exports.tests = {};
module.exports.tests.interface = function(test, common) {
test('valid interface .search()', function(t) {
t.equal(typeof geojsonify.search, 'function', 'search is a function');
t.equal(geojsonify.search.length, 1, 'accepts x arguments');
t.end();
});
};
module.exports.tests.search = function(test, common) {
var input = [
{
"_id": "id1",
"_type": "type1",
"center_point": {
"lat": 51.5337144,
"lon": -0.1069716
},
"name": {
"default": "'Round Midnight Jazz and Blues Bar"
},
"type": "node",
"address": {
"number": "13",
"street": "Liverpool Road",
"zip": "N1 0RW"
},
"alpha3": "GBR",
"admin0": "United Kingdom",
"admin1": "Islington",
"admin1_abbr": "ISL",
"admin2": "Angel",
"local_admin": "test1",
"locality": "test2",
"neighborhood": "test3",
"suggest": {
"input": [
"'round midnight jazz and blues bar"
],
"payload": {
"id": "osmnode/2208150035",
"geo": "-0.10697160000000001,51.53371440000001"
},
"output": "'Round Midnight Jazz and Blues Bar, Angel, United Kingdom"
}
},
{
"_id": "id2",
"_type": "type2",
"type": "way",
"name": {
"default": "Blues Cafe"
},
"center_point": {
"lat": "51.517806",
"lon": "-0.101795"
},
"alpha3": "GBR",
"admin0": "United Kingdom",
"admin1": "City And County Of The City Of London",
"admin1_abbr": "COL",
"admin2": "Smithfield",
"local_admin": "test1",
"locality": "test2",
"neighborhood": "test3",
"suggest": {
"input": [
"blues cafe"
],
"payload": {
"id": "osmway/147495160",
"geo": "-0.101795,51.517806"
},
"output": "Blues Cafe, test3, COL"
}
}
];
var expected = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-0.1069716,
51.5337144
]
},
"properties": {
"id": "id1",
"type": "type1",
"layer": "type1",
"text": "'Round Midnight Jazz and Blues Bar, Angel, United Kingdom",
"name": "'Round Midnight Jazz and Blues Bar",
"alpha3": "GBR",
"admin0": "United Kingdom",
"admin1": "Islington",
"admin1_abbr": "ISL",
"admin2": "Angel",
"local_admin": "test1",
"locality": "test2",
"neighborhood": "test3",
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-0.101795,
51.517806
]
},
"properties": {
"id": "id2",
"type": "type2",
"layer": "type2",
"text": "Blues Cafe, Smithfield, United Kingdom",
"name": "Blues Cafe",
"alpha3": "GBR",
"admin0": "United Kingdom",
"admin1": "City And County Of The City Of London",
"admin1_abbr": "COL",
"admin2": "Smithfield",
"local_admin": "test1",
"locality": "test2",
"neighborhood": "test3",
}
}
]
};
test('geojsonify.search()', function(t) {
var json = geojsonify.search( input );
t.deepEqual(json, expected, 'all docs mapped');
t.end();
});
};
module.exports.all = function (tape, common) {
function test(name, testFunction) {
return tape('geojsonify: ' + name, testFunction);
}
for( var testCase in module.exports.tests ){
module.exports.tests[testCase](test, common);
}
};