X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/81922fc057b5a89fb41d05d3a31dab629ff0558a..e59146a7334e6c8d47231e7d18c7f41a5eb02b59:/test/bdd/api/search/params.feature diff --git a/test/bdd/api/search/params.feature b/test/bdd/api/search/params.feature index 65907379..6ba22d03 100644 --- a/test/bdd/api/search/params.feature +++ b/test/bdd/api/search/params.feature @@ -19,6 +19,12 @@ Feature: Search queries And result 0 has not attributes address And result 0 has bounding box in 46.5,47.5,9,10 + Scenario: Unknown formats returns a user error + When sending search query "Vaduz" + | format | + | x45 | + Then a HTTP 400 is returned + Scenario: JSON search with addressdetails When sending json search query "Montevideo" with address Then address of result 0 is @@ -30,6 +36,8 @@ Feature: Search queries Scenario: XML search with addressdetails When sending xml search query "Aleg" with address + | accept-language | + | en | Then address of result 0 is | type | value | | city | Aleg | @@ -39,9 +47,11 @@ Feature: Search queries Scenario: coordinate search with addressdetails When sending json search query "14.271104294939,107.69828796387" + | accept-language | + | en | Then results contain | display_name | - | Plei Ya Rê, Kon Tum province, Vietnam | + | Plei Ya Rê, Vietnam | Scenario: Address details with unknown class types When sending json search query "Hundeauslauf, Hamburg" with address @@ -62,20 +72,26 @@ Feature: Search queries Then there are duplicates Scenario: Search with bounded viewbox in right area - When sending json search query "restaurant" with address + When sending json search query "bar" with address | bounded | viewbox | - | 1 | 9.93027,53.61634,10.10073,53.54500 | + | 1 | -56.16786,-34.84061,-56.12525,-34.86526 | Then result addresses contain - | state | - | Hamburg | + | city | + | Montevideo | + + Scenario: Country search with bounded viewbox remain in the area + When sending json search query "" with address + | bounded | viewbox | country | + | 1 | -56.16786,-34.84061,-56.12525,-34.86526 | de | + Then less than 1 result is returned Scenario: Search with bounded viewboxlbrt in right area - When sending json search query "restaurant" with address + When sending json search query "bar" with address | bounded | viewboxlbrt | - | 1 | 9.93027,53.54500,10.10073,53.61634 | + | 1 | -56.16786,-34.86526,-56.12525,-34.84061 | Then result addresses contain - | state | - | Hamburg | + | city | + | Montevideo | Scenario: No POI search with unbounded viewbox When sending json search query "restaurant" @@ -86,7 +102,7 @@ Feature: Search queries | ^[^,]*[Rr]estaurant.* | Scenario: bounded search remains within viewbox, even with no results - When sending json search query "restaurant" + When sending json search query "[restaurant]" | bounded | viewbox | | 1 | 43.5403125,-5.6563282,43.54285,-5.662003 | Then less than 1 result is returned @@ -95,7 +111,7 @@ Feature: Search queries When sending json search query "restaurant" | bounded | viewbox | | 1 | 9.93027,53.61634,10.10073,53.54500 | - Then result has bounding box in 53.54500,53.61634,9.93027,10.10073 + Then result has centroid in 53.54500,53.61634,9.93027,10.10073 Scenario: Prefer results within viewbox When sending json search query "25 de Mayo" with address @@ -103,13 +119,45 @@ Feature: Search queries | en | Then result addresses contain | ID | state | - | 0 | Salto | + | 0 | Florida | When sending json search query "25 de Mayo" with address | accept-language | viewbox | - | en | -56.35879,-34.18330,-56.31618,-34.20815 | + | en | -57.95468,-31.39261,-57.94741,-31.39490 | Then result addresses contain | ID | state | - | 0 | Florida | + | 0 | Salto | + + 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 | + | | + 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 | + | | + 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" @@ -123,6 +171,12 @@ Feature: Search queries | 4 | Then exactly 4 results are returned + Scenario: Limit parameter must be a number + When sending search query "Blue Laguna" + | limit | + | ); | + Then a HTTP 400 is returned + Scenario: Restrict to feature type country When sending xml search query "Uruguay" Then results contain @@ -222,6 +276,7 @@ Feature: Search queries | xml | | json | | jsonv2 | + | geojson | Scenario Outline: Search with namedetails When sending search query "Hauptstr" @@ -234,6 +289,7 @@ Feature: Search queries | xml | | json | | jsonv2 | + | geojson | Scenario Outline: Search result with contains TEXT geometry When sending search query "Highmore" @@ -247,18 +303,6 @@ Feature: Search queries | json | geotext | | jsonv2 | geotext | - Scenario Outline: Search result contains polygon-as-points geometry - When sending search query "Highmore" - | polygon | - | 1 | - Then result has attributes - - Examples: - | format | response_attribute | - | xml | polygonpoints | - | json | polygonpoints | - | jsonv2 | polygonpoints | - Scenario Outline: Search result contains SVG geometry When sending search query "Highmore" | polygon_svg | @@ -294,3 +338,27 @@ Feature: Search queries | xml | geojson | | json | geojson | | jsonv2 | geojson | + | geojson | geojson | + + Scenario Outline: Search result in geojson format contains no non-geojson geometry + When sending geojson search query "Highmore" + | polygon_text | polygon_svg | polygon_geokml | + | 1 | 1 | 1 | + Then result 0 has not attributes + + Examples: + | response_attribute | + | geotext | + | polygonpoints | + | svg | + | geokml | + + 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 | + +