]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/api/search/params.feature
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / test / bdd / api / search / params.feature
index 6590737982f2fe7f41e183d839ce0624a8b15200..fcd2b603cf0b054c607795720456c94f989548bc 100644 (file)
@@ -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
 
         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
     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
 
     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 |
         Then address of result 0 is
           | type         | value |
           | city         | Aleg |
@@ -39,6 +47,8 @@ Feature: Search queries
 
     Scenario: coordinate search with addressdetails
         When sending json search query "14.271104294939,107.69828796387"
 
     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 |
         Then results contain
           | display_name |
           | Plei Ya Rê, Kon Tum province, Vietnam |
@@ -62,20 +72,26 @@ Feature: Search queries
         Then there are duplicates
 
     Scenario: Search with bounded viewbox in right area
         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 |
           | bounded | viewbox |
-          | 1       | 9.93027,53.61634,10.10073,53.54500 |
+          | 1       | -56.16786,-34.84061,-56.12525,-34.86526 |
         Then result addresses contain
         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
 
     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 |
           | bounded | viewboxlbrt |
-          | 1       | 9.93027,53.54500,10.10073,53.61634 |
+          | 1       | -56.16786,-34.86526,-56.12525,-34.84061 |
         Then result addresses contain
         Then result addresses contain
-          | state |
-          | Hamburg |
+          | city |
+          | Montevideo |
 
     Scenario: No POI search with unbounded viewbox
         When sending json search query "restaurant"
 
     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
           | ^[^,]*[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
            | bounded | viewbox |
            | 1       | 43.5403125,-5.6563282,43.54285,-5.662003 |
         Then less than 1 result is returned
@@ -111,6 +127,38 @@ Feature: Search queries
           | ID | state |
           | 0  | Florida |
 
           | 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 |
     Scenario: Overly large limit number for search results
         When sending json search query "restaurant"
           | limit |
@@ -123,6 +171,12 @@ Feature: Search queries
           | 4 |
         Then exactly 4 results are returned
 
           | 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
     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 |
         | xml |
         | json |
         | jsonv2 |
+        | geojson |
 
     Scenario Outline: Search with namedetails
         When sending <format> search query "Hauptstr"
 
     Scenario Outline: Search with namedetails
         When sending <format> search query "Hauptstr"
@@ -234,6 +289,7 @@ Feature: Search queries
         | xml |
         | json |
         | jsonv2 |
         | xml |
         | json |
         | jsonv2 |
+        | geojson |
 
     Scenario Outline: Search result with contains TEXT geometry
         When sending <format> search query "Highmore"
 
     Scenario Outline: Search result with contains TEXT geometry
         When sending <format> search query "Highmore"
@@ -294,3 +350,27 @@ Feature: Search queries
         | xml      | geojson |
         | json     | geojson |
         | jsonv2   | geojson |
         | 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 | polygon_svg | polygon_geokml |
+          | 1            | 1       | 1           | 1              |
+        Then result 0 has not attributes <response_attribute>
+
+    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 |
+
+