]> 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 c1318a62e85804782fec5237e49c2d905d96e405..ec8454b08a9757a0e584ee9d03aa4afde84af35c 100644 (file)
@@ -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
@@ -45,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
@@ -53,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"
@@ -73,6 +78,12 @@ Feature: Search queries
           | 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 "bar" with address
           | bounded | viewboxlbrt |
@@ -90,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
@@ -99,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
@@ -107,13 +118,13 @@ 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"
@@ -159,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
@@ -258,6 +275,7 @@ Feature: Search queries
         | xml |
         | json |
         | jsonv2 |
+        | geojson |
 
     Scenario Outline: Search with namedetails
         When sending <format> search query "Hauptstr"
@@ -270,6 +288,7 @@ Feature: Search queries
         | xml |
         | json |
         | jsonv2 |
+        | geojson |
 
     Scenario Outline: Search result with contains TEXT geometry
         When sending <format> search query "Highmore"
@@ -283,18 +302,6 @@ Feature: Search queries
         | json     | geotext |
         | jsonv2   | geotext |
 
-    Scenario Outline: Search result contains polygon-as-points geometry
-        When sending <format> search query "Highmore"
-          | polygon |
-          | 1 |
-        Then result has attributes <response_attribute>
-
-    Examples:
-        | format   | response_attribute |
-        | xml      | polygonpoints |
-        | json     | polygonpoints |
-        | jsonv2   | polygonpoints |
-
     Scenario Outline: Search result contains SVG geometry
         When sending <format> search query "Highmore"
           | polygon_svg |
@@ -330,6 +337,20 @@ 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 <response_attribute>
+
+    Examples:
+        | response_attribute |
+        | geotext            |
+        | polygonpoints      |
+        | svg                |
+        | geokml             |
 
     Scenario: Search along a route
         When sending json search query "restaurant" with address
@@ -338,3 +359,5 @@ Feature: Search queries
         Then result addresses contain
           | city |
           | Rapid City |
+
+