X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/50c5abf6bb5c904ca00c2e515359c74237d31b64..88eaf7fb94a112350c954cc6dd7e34b3408d461a:/test/bdd/api/search/params.feature diff --git a/test/bdd/api/search/params.feature b/test/bdd/api/search/params.feature index fba83eab..e2744279 100644 --- a/test/bdd/api/search/params.feature +++ b/test/bdd/api/search/params.feature @@ -19,13 +19,18 @@ 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 | type | value | | city | Montevideo | | state | Montevideo | - | postcode | 11000 | | country | Uruguay | | country_code | uy | @@ -46,7 +51,7 @@ Feature: Search queries | 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 @@ -54,9 +59,8 @@ Feature: Search queries | ID | class | type | | 0 | leisure | dog_park | And result addresses contain - | ID | address29 | + | ID | leisure | | 0 | Hundeauslauf | - And address of result 0 has no types leisure,dog_park Scenario: Disabling deduplication When sending json search query "Sievekingsallee, Hamburg" @@ -67,15 +71,21 @@ 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 | -56.16786,-34.84061,-56.12525,-34.86526 | Then result addresses contain | 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 | -56.16786,-34.86526,-56.12525,-34.84061 | Then result addresses contain @@ -91,7 +101,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 @@ -100,7 +110,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 @@ -108,13 +118,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" @@ -128,6 +170,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 @@ -227,6 +275,7 @@ Feature: Search queries | xml | | json | | jsonv2 | + | geojson | Scenario Outline: Search with namedetails When sending search query "Hauptstr" @@ -239,6 +288,7 @@ Feature: Search queries | xml | | json | | jsonv2 | + | geojson | Scenario Outline: Search result with contains TEXT geometry When sending search query "Highmore" @@ -252,18 +302,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 | @@ -299,3 +337,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 | + +