]> git.openstreetmap.org Git - nominatim.git/blobdiff - tests/features/api/search_params.feature
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / tests / features / api / search_params.feature
index 1062cd0277c3702a015e3a8bc64fe4f532f6dcc1..cd0db091e44a4669ec15757c6585cafc887361d3 100644 (file)
@@ -8,6 +8,7 @@ Feature: Search queries
         And result 0 has attributes lat,lon,display_name
         And result 0 has attributes class,type,importance,icon
         And result 0 has not attributes address
+        And results contain valid boundingboxes
 
     Scenario: Simple JSON search
         When sending json search query "Vaduz"
@@ -15,6 +16,7 @@ Feature: Search queries
         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 results contain valid boundingboxes
 
     Scenario: JSON search with addressdetails
         When sending json search query "Montevideo" with address
@@ -29,11 +31,16 @@ Feature: Search queries
         When sending xml search query "Inuvik" with address
         Then address of result 0 contains
           | type         | value
-          | city         | Inuvik
           | state        | Northwest Territories
           | country      | Canada
           | country_code | ca
 
+    Scenario: coordinate search with addressdetails
+        When sending json search query "51.193058013916,15.5245780944824" with address
+        Then result addresses contain
+          | village    | country | country_code
+          | Kraszowice | Polska  | pl
+
     Scenario: Address details with unknown class types
         When sending json search query "foobar, Essen" with address
         Then results contain
@@ -70,7 +77,7 @@ Feature: Search queries
         Then result addresses contain
           | ID | city
           | 0  | Chicago
-    
+
     Scenario: No POI search with unbounded viewbox
         Given the request parameters
           | viewbox
@@ -83,7 +90,7 @@ Feature: Search queries
     Scenario: bounded search remains within viewbox, even with no results
         Given the request parameters
          | bounded | viewbox
-         | 1       | -5.662003,43.54285,-5.6563282,43.5403125
+         | 1       | 43.5403125,-5.6563282,43.54285,-5.662003
          When sending json search query "restaurant"
         Then less than 1 result is returned
 
@@ -185,7 +192,6 @@ Feature: Search queries
         | 0.0
         | 0.5
         | 999
-        | nan
 
     Scenario Outline: Search with polygon threshold (xml)
         Given the request parameters
@@ -201,4 +207,109 @@ Feature: Search queries
         | 0.0
         | 0.5
         | 999
-        | nan
+
+    Scenario Outline: Search with invalid polygon threshold (xml)
+        Given the request parameters
+          | polygon_geojson | polygon_threshold
+          | 1               | <th>
+        When sending xml search query "switzerland"
+        Then a HTTP 400 is returned
+
+
+    Scenario Outline: Search with extratags
+        Given the request parameters
+          | extratags
+          | 1
+        When sending <format> search query "Hauptstr"
+        Then result 0 has attributes extratags
+        And result 1 has attributes extratags
+
+    Examples:
+        | format
+        | xml
+        | json
+        | jsonv2
+
+    Scenario Outline: Search with namedetails
+        Given the request parameters
+          | namedetails
+          | 1
+        When sending <format> search query "Hauptstr"
+        Then result 0 has attributes namedetails
+        And result 1 has attributes namedetails
+
+    Examples:
+        | format
+        | xml
+        | json
+        | jsonv2
+
+
+   Scenario Outline: Search result with contains TEXT geometry
+        Given the request parameters
+          | polygon_text
+          | 1
+        When sending <format> search query "switzerland"
+        Then result 0 has attributes <response_attribute>
+
+   Examples:
+        | format   | response_attribute
+        | xml      | geotext
+        | json     | geotext
+        | jsonv2   | geotext
+
+   Scenario Outline: Search result contains polygon-as-points geometry
+        Given the request parameters
+          | polygon
+          | 1
+        When sending <format> search query "switzerland"
+        Then result 0 has attributes <response_attribute>
+
+   Examples:
+        | format   | response_attribute
+        | xml      | polygonpoints
+        | json     | polygonpoints
+        | jsonv2   | polygonpoints
+
+
+
+   Scenario Outline: Search result contains SVG geometry
+        Given the request parameters
+          | polygon_svg
+          | 1
+        When sending <format> search query "switzerland"
+        Then result 0 has attributes <response_attribute>
+
+   Examples:
+        | format   | response_attribute
+        | xml      | geosvg
+        | json     | svg
+        | jsonv2   | svg
+
+
+   Scenario Outline: Search result contains KML geometry
+        Given the request parameters
+          | polygon_kml
+          | 1
+        When sending <format> search query "switzerland"
+        Then result 0 has attributes <response_attribute>
+
+   Examples:
+        | format   | response_attribute
+        | xml      | geokml
+        | json     | geokml
+        | jsonv2   | geokml
+
+
+   Scenario Outline: Search result contains GEOJSON geometry
+        Given the request parameters
+          | polygon_geojson
+          | 1
+        When sending <format> search query "switzerland"
+        Then result 0 has attributes <response_attribute>
+
+   Examples:
+        | format   | response_attribute
+        | xml      | geojson
+        | json     | geojson
+        | jsonv2   | geojson