mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-14 01:47:57 +00:00
more API tests for code coverage
Also fixes two minor issues related to structured queries.
This commit is contained in:
@@ -304,7 +304,7 @@ class Geocode
|
||||
$aViewbox = $oParams->getStringList('viewboxlbrt');
|
||||
if ($aViewbox) {
|
||||
if (count($aViewbox) != 4) {
|
||||
userError("Bad parmater 'viewbox'. Expected 4 coordinates.");
|
||||
userError("Bad parmater 'viewboxlbrt'. Expected 4 coordinates.");
|
||||
}
|
||||
$this->setViewbox($aViewbox);
|
||||
} else {
|
||||
@@ -372,7 +372,7 @@ class Geocode
|
||||
$this->aAddressRankList = array();
|
||||
|
||||
$this->aStructuredQuery = array();
|
||||
$this->sAllowedTypesSQLList = '';
|
||||
$this->sAllowedTypesSQLList = False;
|
||||
|
||||
$this->loadStructuredAddressElement($sAmenity, 'amenity', 26, 30, false);
|
||||
$this->loadStructuredAddressElement($sStreet, 'street', 26, 30, false);
|
||||
@@ -385,7 +385,7 @@ class Geocode
|
||||
if (sizeof($this->aStructuredQuery) > 0) {
|
||||
$this->sQuery = join(', ', $this->aStructuredQuery);
|
||||
if ($this->iMaxAddressRank < 30) {
|
||||
$sAllowedTypesSQLList = '(\'place\',\'boundary\')';
|
||||
$this->sAllowedTypesSQLList = '(\'place\',\'boundary\')';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1403,7 +1403,7 @@ class Geocode
|
||||
if ($aSearch['sCountryCode']) $aTerms[] = "country_code = '".pg_escape_string($aSearch['sCountryCode'])."'";
|
||||
if ($aSearch['sHouseNumber']) {
|
||||
$aTerms[] = "address_rank between 16 and 27";
|
||||
} else {
|
||||
} elseif (!$aSearch['sClass'] || $aSearch['sOperator'] == 'name') {
|
||||
if ($this->iMinAddressRank > 0) {
|
||||
$aTerms[] = "address_rank >= ".$this->iMinAddressRank;
|
||||
}
|
||||
|
||||
@@ -115,6 +115,38 @@ Feature: Search queries
|
||||
| ID | state |
|
||||
| 0 | Florida |
|
||||
|
||||
Scenario: viewboxes cannot be points
|
||||
When sending json search query "foo"
|
||||
| viewbox |
|
||||
| 1.01,34.6,1.01,34.6 |
|
||||
Then a HTTP 400 is returned
|
||||
|
||||
Scenario Outline: viewbox must have four coordinate numbers
|
||||
When sending json search query "foo"
|
||||
| viewbox |
|
||||
| <viewbox> |
|
||||
Then a HTTP 400 is returned
|
||||
|
||||
Examples:
|
||||
| viewbox |
|
||||
| 34 |
|
||||
| 0.003,-84.4 |
|
||||
| 5.2,4.5542,12.4 |
|
||||
| 23.1,-6,0.11,44.2,9.1 |
|
||||
|
||||
Scenario Outline: viewboxlbrt must have four coordinate numbers
|
||||
When sending json search query "foo"
|
||||
| viewboxlbrt |
|
||||
| <viewbox> |
|
||||
Then a HTTP 400 is returned
|
||||
|
||||
Examples:
|
||||
| viewbox |
|
||||
| 34 |
|
||||
| 0.003,-84.4 |
|
||||
| 5.2,4.5542,12.4 |
|
||||
| 23.1,-6,0.11,44.2,9.1 |
|
||||
|
||||
Scenario: Overly large limit number for search results
|
||||
When sending json search query "restaurant"
|
||||
| limit |
|
||||
@@ -298,3 +330,11 @@ Feature: Search queries
|
||||
| xml | geojson |
|
||||
| json | geojson |
|
||||
| jsonv2 | geojson |
|
||||
|
||||
Scenario: Search along a route
|
||||
When sending json search query "restaurant" with address
|
||||
| bounded | routewidth | route |
|
||||
| 1 | 0.1 | -103.23255,44.08198,-103.22516,44.08079 |
|
||||
Then result addresses contain
|
||||
| city |
|
||||
| Rapid City |
|
||||
|
||||
@@ -57,6 +57,15 @@ Feature: Search queries
|
||||
| place_rank |
|
||||
| 30 |
|
||||
|
||||
Scenario: Search with specific amenity
|
||||
When sending json search query "[restaurant] Vaduz" with address
|
||||
Then result addresses contain
|
||||
| country |
|
||||
| Liechtenstein |
|
||||
And results contain
|
||||
| class | type |
|
||||
| amenity | restaurant |
|
||||
|
||||
# https://trac.openstreetmap.org/ticket/5094
|
||||
Scenario: housenumbers are ordered by complete match first
|
||||
When sending json search query "6395 geminis, montevideo" with address
|
||||
|
||||
@@ -31,6 +31,17 @@ Feature: Structured search queries
|
||||
| attr | value |
|
||||
| querystring | Old Palace Road, GU2 7UP, United Kingdom |
|
||||
|
||||
Scenario: Amenity, city
|
||||
When sending json search query "" with address
|
||||
| city | amenity |
|
||||
| Vaduz | church |
|
||||
Then result addresses contain
|
||||
| country |
|
||||
| Liechtenstein |
|
||||
And results contain
|
||||
| class | type |
|
||||
| amenity | place_of_worship |
|
||||
|
||||
Scenario: gihub #176
|
||||
When sending json search query "" with address
|
||||
| city |
|
||||
|
||||
Reference in New Issue
Block a user