]> git.openstreetmap.org Git - nominatim.git/blobdiff - tests/features/api/search_params.feature
Merge remote-tracking branch 'upstream/master' into cmake-port
[nominatim.git] / tests / features / api / search_params.feature
index 5b765f12cd69511b9cd520c68870014619c16d6a..7cb597a86e1835759af15badd02c17c607cb6526 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
@@ -27,9 +29,8 @@ Feature: Search queries
 
     Scenario: XML search with addressdetails
         When sending xml search query "Inuvik" with address
-        Then address of result 0 is
+        Then address of result 0 contains
           | type         | value
-          | town         | Inuvik
           | state        | Northwest Territories
           | country      | Canada
           | country_code | ca
@@ -41,7 +42,7 @@ Feature: Search queries
           | 0  | leisure | hackerspace
         And result addresses contain
           | ID | address29
-          | 0  | foobar
+          | 0  | Chaospott
         And address of result 0 does not contain leisure,hackerspace
 
     Scenario: Disabling deduplication
@@ -70,7 +71,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 +84,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
 
@@ -170,3 +171,139 @@ Feature: Search queries
         Then results contain
           | ID | display_name
           | 0  | Everest.*
+
+    Scenario Outline: Search with polygon threshold (json)
+        Given the request parameters
+          | polygon_geojson | polygon_threshold
+          | 1               | <th>
+        When sending json search query "switzerland"
+        Then at least 1 result is returned
+        And result 0 has attributes geojson
+
+     Examples:
+        | th
+        | -1
+        | 0.0
+        | 0.5
+        | 999
+
+    Scenario Outline: Search with polygon threshold (xml)
+        Given the request parameters
+          | polygon_geojson | polygon_threshold
+          | 1               | <th>
+        When sending xml search query "switzerland"
+        Then at least 1 result is returned
+        And result 0 has attributes geojson
+
+     Examples:
+        | th
+        | -1
+        | 0.0
+        | 0.5
+        | 999
+
+    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