Browse Source

Added tests for postcode fix

pull/974/head
Adam Rousell 7 years ago
parent
commit
8d7c01dcbe
  1. 51
      test/unit/middleware/confidenceScoreFallback.js
  2. 46
      test/unit/middleware/trimByGranularityStructured.js

51
test/unit/middleware/confidenceScoreFallback.js

@ -442,6 +442,57 @@ module.exports.tests.confidenceScore = function(test, common) {
t.equal(res.data[0].match_type, 'fallback', 'fallback match indicated');
t.end();
});
test('address fallback to postal code should have a score set to 0.8', function(t) {
var req = {
clean: {
text: '123 Main St, City, NM, USA, 1234',
parsed_text: {
number: 123,
street: 'Main St',
state: 'NM',
country: 'USA',
postalcode: '1234'
}
}
};
var res = {
data: [{
layer: 'postalcode'
}],
meta: {
query_type: 'fallback'
}
};
confidenceScore(req, res, function() {});
t.equal(res.data[0].confidence, 0.8, 'score was set');
t.equal(res.data[0].match_type, 'fallback', 'fallback match indicated');
t.end();
});
test('matching address search with postalcode and country should have an exact match with score of 1.0', function(t) {
var req = {
clean: {
text: 'USA, 1234',
parsed_text: {
country: 'USA',
postalcode: '1234'
}
}
};
var res = {
data: [{
layer: 'postalcode'
}],
meta: {
query_type: 'fallback'
}
};
confidenceScore(req, res, function() {});
t.equal(res.data[0].confidence, 1, 'score was set');
t.equal(res.data[0].match_type, 'exact', 'exact match indicated');
t.end();
});
};

46
test/unit/middleware/trimByGranularityStructured.js

@ -21,6 +21,7 @@ module.exports.tests.trimByGranularity = function(test, common) {
{ name: 'venue 2', _matched_queries: ['fallback.venue'] },
{ name: 'address 1', _matched_queries: ['fallback.address'] },
{ name: 'street 1', _matched_queries: ['fallback.street'] },
{ name: 'postalcode 1', _matched_queries: ['fallback.postalcode'] },
{ name: 'neighbourhood 1', _matched_queries: ['fallback.neighbourhood'] },
{ name: 'borough 1', _matched_queries: ['fallback.borough'] },
{ name: 'locality 1', _matched_queries: ['fallback.locality'] },
@ -58,6 +59,7 @@ module.exports.tests.trimByGranularity = function(test, common) {
{ name: 'address 1', _matched_queries: ['fallback.address'] },
{ name: 'address 2', _matched_queries: ['fallback.address'] },
{ name: 'street 1', _matched_queries: ['fallback.street'] },
{ name: 'postalcode 1', _matched_queries: ['fallback.postalcode'] },
{ name: 'neighbourhood 1', _matched_queries: ['fallback.neighbourhood'] },
{ name: 'borough 1', _matched_queries: ['fallback.borough'] },
{ name: 'locality 1', _matched_queries: ['fallback.locality'] },
@ -94,6 +96,7 @@ module.exports.tests.trimByGranularity = function(test, common) {
data: [
{ name: 'street 1', _matched_queries: ['fallback.street'] },
{ name: 'street 2', _matched_queries: ['fallback.street'] },
{ name: 'postalcode 1', _matched_queries: ['fallback.postalcode'] },
{ name: 'neighbourhood 1', _matched_queries: ['fallback.neighbourhood'] },
{ name: 'borough 1', _matched_queries: ['fallback.borough'] },
{ name: 'locality 1', _matched_queries: ['fallback.locality'] },
@ -122,6 +125,49 @@ module.exports.tests.trimByGranularity = function(test, common) {
testIt();
});
test('all records with fallback.* matched_queries name should retain only postalcodes when they are most granular', function(t) {
var req = {
clean: {
parsed_text: {
borough: 'borough value'
}
}
};
var res = {
data: [
{ name: 'postalcode 1', _matched_queries: ['fallback.postalcode'] },
{ name: 'postalcode 2', _matched_queries: ['fallback.postalcode'] },
{ name: 'neighbourhood 1', _matched_queries: ['fallback.neighbourhood'] },
{ name: 'borough 1', _matched_queries: ['fallback.borough'] },
{ name: 'borough 2', _matched_queries: ['fallback.borough'] },
{ name: 'locality 1', _matched_queries: ['fallback.locality'] },
{ name: 'localadmin 1', _matched_queries: ['fallback.localadmin'] },
{ name: 'county 1', _matched_queries: ['fallback.county'] },
{ name: 'macrocounty 1', _matched_queries: ['fallback.macrocounty'] },
{ name: 'region 1', _matched_queries: ['fallback.region'] },
{ name: 'macroregion 1', _matched_queries: ['fallback.macroregion'] },
{ name: 'dependency 1', _matched_queries: ['fallback.dependency'] },
{ name: 'country 1', _matched_queries: ['fallback.country'] },
{ name: 'unknown', _matched_queries: ['fallback.unknown'] }
]
};
var expected_data = [
{ name: 'postalcode 1', _matched_queries: ['fallback.postalcode'] },
{ name: 'postalcode 2', _matched_queries: ['fallback.postalcode'] },
];
function testIt() {
trimByGranularity(req, res, function() {
t.deepEquals(res.data, expected_data, 'only postalcode records should be here');
t.end();
});
}
testIt();
});
test('all records with fallback.* matched_queries name should retain only neighbourhoods when they are most granular', function(t) {
var req = { clean: {} };

Loading…
Cancel
Save