X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/81922fc057b5a89fb41d05d3a31dab629ff0558a..0aa2ca64d2d7492b05f2e541764fbe159eb5a187:/test/bdd/api/search/params.feature?ds=inline diff --git a/test/bdd/api/search/params.feature b/test/bdd/api/search/params.feature index 65907379..ec8454b0 100644 --- a/test/bdd/api/search/params.feature +++ b/test/bdd/api/search/params.feature @@ -7,18 +7,24 @@ Feature: Search queries Then result 0 has attributes place_id,osm_type,osm_id And result 0 has attributes place_rank,boundingbox And result 0 has attributes lat,lon,display_name - And result 0 has attributes class,type,importance,icon + And result 0 has attributes class,type,importance And result 0 has not attributes address And result 0 has bounding box in 46.5,47.5,9,10 Scenario: Simple JSON search When sending json search query "Vaduz" - Then result 0 has attributes place_id,licence,icon,class,type + Then result 0 has attributes place_id,licence,class,type And result 0 has attributes osm_type,osm_id,boundingbox And result 0 has attributes lat,lon,display_name,importance 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 @@ -49,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" @@ -62,20 +71,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 +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 @@ -95,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 @@ -103,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" @@ -123,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 @@ -222,6 +275,7 @@ Feature: Search queries | xml | | json | | jsonv2 | + | geojson | Scenario Outline: Search with namedetails When sending search query "Hauptstr" @@ -234,6 +288,7 @@ Feature: Search queries | xml | | json | | jsonv2 | + | geojson | Scenario Outline: Search result with contains TEXT geometry When sending search query "Highmore" @@ -247,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 | @@ -294,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 | + +