Browse Source

Merge pull request #499 from pelias/handle_address_flipping_with_no_admin_lookup

Do not apply local naming conventions to records with no admin info
pull/503/head
Julian Simioni 9 years ago
parent
commit
39e149b4d9
  1. 3
      middleware/localNamingConventions.js
  2. 19
      test/unit/middleware/localNamingConventions.js

3
middleware/localNamingConventions.js

@ -23,6 +23,9 @@ function applyLocalNamingConventions(req, res, next) {
// loop through data items and flip relevant number/street // loop through data items and flip relevant number/street
res.data.filter(function(place){ res.data.filter(function(place){
// do nothing for records with no admin info
if (!place.parent || !place.parent.country_a) { return false; }
// relevant for some countries // relevant for some countries
var flip = place.parent.country_a.some(function(country) { var flip = place.parent.country_a.some(function(country) {
return _.includes(flipNumberAndStreetCountries, country); return _.includes(flipNumberAndStreetCountries, country);

19
test/unit/middleware/localNamingConventions.js

@ -77,8 +77,21 @@ module.exports.tests.flipNumberAndStreet = function(test, common) {
} }
}; };
var unknownCountryAddress = {
'_id': 'test4',
'_type': 'test',
'name': { 'default': '123 Main Street' },
'center_point': { 'lon': 30.1, 'lat': -50 },
'address_parts': {
'number': '123',
'street': 'Main Street'
},
'parent': {
}
};
var req = {}, var req = {},
res = { data: [ ukAddress, deAddress, nlAddress ] }, res = { data: [ ukAddress, deAddress, nlAddress, unknownCountryAddress ] },
middleware = localNamingConventions(); middleware = localNamingConventions();
test('flipNumberAndStreet', function(t) { test('flipNumberAndStreet', function(t) {
@ -96,6 +109,10 @@ module.exports.tests.flipNumberAndStreet = function(test, common) {
// this definition comes from pelias configuration // this definition comes from pelias configuration
t.equal( res.data[2].name.default, 'Keizersgracht 117', 'flipped name' ); t.equal( res.data[2].name.default, 'Keizersgracht 117', 'flipped name' );
// addresses without a known country (either due to missing data or admin lookup
// being disabled), don't have the name flipped
t.equal( res.data[3].name.default, '123 Main Street', 'standard name');
t.end(); t.end();
}); });
}); });

Loading…
Cancel
Save