X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/5d656891ba072d88b8b281d239d0dce9f7bd6a1c..7ba5152493327d277115aab9b344b652decd3f2e:/test/bdd/api/search/queries.feature diff --git a/test/bdd/api/search/queries.feature b/test/bdd/api/search/queries.feature index 3a62c581..6e640acc 100644 --- a/test/bdd/api/search/queries.feature +++ b/test/bdd/api/search/queries.feature @@ -1,7 +1,16 @@ +@SQLITE @APIDB Feature: Search queries Generic search result correctness + Scenario: Search for natural object + When sending json search query "Samina" + | accept-language | + | en | + Then results contain + | ID | class | type | display_name | + | 0 | waterway | river | Samina, Austria | + Scenario: House number search for non-street address When sending json search query "6 Silum, Liechtenstein" with address | accept-language | @@ -15,6 +24,7 @@ Feature: Search queries | postcode | 9497 | | country | Liechtenstein | | country_code | li | + | ISO3166-2-lvl8 | LI-10 | Scenario: House number interpolation When sending json search query "Grosssteg 1023, Triesenberg" with address @@ -41,6 +51,7 @@ Feature: Search queries | town | Triesenberg | | country | Liechtenstein | | country_code | li | + | ISO3166-2-lvl8 | LI-10 | Scenario Outline: Housenumber 0 can be found When sending search query "Gnalpstrasse 0" with address @@ -66,7 +77,7 @@ Feature: Search queries | way | ^697,.* | Scenario: Search with class-type feature - When sending jsonv2 search query "Hotel in California" + When sending jsonv2 search query "bars in ebenholz" Then results contain | place_rank | | 30 | @@ -80,22 +91,21 @@ Feature: Search queries | class | type | | amenity | restaurant | + Scenario: Search with specific amenity also work in country + When sending json search query "restaurants in liechtenstein" with address + Then result addresses contain + | country | + | Liechtenstein | + And results contain + | class | type | + | amenity | restaurant | + Scenario: Search with key-value amenity When sending json search query "[club=scout] Vaduz" Then results contain | class | type | | club | scout | - Scenario: With multiple amenity search only the first is used - When sending json search query "[club=scout] [church] vaduz" - Then results contain - | class | type | - | club | scout | - When sending json search query "[amenity=place_of_worship] [club=scout] vaduz" - Then results contain - | class | type | - | amenity | place_of_worship | - Scenario: POI search near given coordinate When sending json search query "restaurant near 47.16712,9.51100" Then results contain @@ -108,11 +118,27 @@ Feature: Search queries | class | type | | leisure | firepit | - Scenario: Arbitrary key/value search near given coordinate and named place - When sending json search query "[leisure=firepit] ebenholz 47° 9′ 26″ N 9° 36′ 45″ E" + + Scenario: POI search in a bounded viewbox + When sending json search query "restaurants" + | viewbox | bounded | + | 9.50830,47.15253,9.52043,47.14866 | 1 | Then results contain - | class | type | - | leisure | firepit | + | class | type | + | amenity | restaurant | + + Scenario Outline: Key/value search near given coordinate can be restricted to country + When sending json search query "[natural=peak] 47.06512,9.53965" with address + | countrycodes | + | | + Then result addresses contain + | country_code | + | | + + Examples: + | cc | + | li | + | ch | Scenario: Name search near given coordinate When sending json search query "sporry" with address @@ -141,18 +167,25 @@ Feature: Search queries Then exactly 0 results are returned Scenario: Ignore country searches when query is restricted to countries - When sending json search query "de" + When sending json search query "fr" | countrycodes | | li | Then exactly 0 results are returned + Scenario: Country searches only return results for the given country + When sending search query "Ans Trail" with address + | countrycodes | + | li | + Then result addresses contain + | country_code | + | li | + # https://trac.openstreetmap.org/ticket/5094 Scenario: housenumbers are ordered by complete match first When sending json search query "Austrasse 11, Vaduz" with address Then result addresses contain | ID | house_number | | 0 | 11 | - | 1 | 11 a | Scenario Outline: Coordinate searches with white spaces When sending json search query "" @@ -182,3 +215,7 @@ Feature: Search queries Then result addresses contain | ID | town | | 0 | Vaduz | + + Scenario: Search can handle complex query word sets + When sending search query "aussenstelle universitat lichtenstein wachterhaus aussenstelle universitat lichtenstein wachterhaus aussenstelle universitat lichtenstein wachterhaus aussenstelle universitat lichtenstein wachterhaus" + Then a HTTP 200 is returned