X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/6985abc3fd16dd5a8f8de91ec1d798238ea10709..47714357cb800c69d006b3a868356bf80d09549a:/test/bdd/api/search/queries.feature?ds=inline diff --git a/test/bdd/api/search/queries.feature b/test/bdd/api/search/queries.feature index 638177fd..8c2fa2b8 100644 --- a/test/bdd/api/search/queries.feature +++ b/test/bdd/api/search/queries.feature @@ -19,30 +19,57 @@ Feature: Search queries | accept-language | | de | Then address of result 0 is - | type | value | - | house_number | 86 | - | road | Schellingstraße | - | suburb | Eilbek | - | postcode | 22089 | + | type | value | + | house_number | 86 | + | road | Schellingstraße | + | neighbourhood | Auenviertel | + | suburb | Eilbek | + | postcode | 22089 | | city_district | Wandsbek | - | state | Hamburg | - | country | Deutschland | - | country_code | de | + | country | Deutschland | + | country_code | de | Scenario: House number interpolation odd When sending json search query "Schellingstr 73, Hamburg" with address | accept-language | | de | Then address of result 0 is - | type | value | - | house_number | 73 | - | road | Schellingstraße | - | suburb | Eilbek | - | postcode | 22089 | + | type | value | + | house_number | 73 | + | road | Schellingstraße | + | neighbourhood | Auenviertel | + | suburb | Eilbek | + | postcode | 22089 | | city_district | Wandsbek | - | state | Hamburg | - | country | Deutschland | - | country_code | de | + | country | Deutschland | + | country_code | de | + + Scenario: With missing housenumber search falls back to road + When sending json search query "342 rocha, santa lucia" with address + Then address of result 0 is + | type | value | + | road | Rocha | + | city | Santa Lucía | + | state | Canelones | + | postcode | 90700 | + | country | Uruguay | + | country_code | uy | + + Scenario Outline: Housenumber 0 can be found + When sending search query "Pham Hung Road 0" with address + Then results contain + | display_name | + | ^.*, 0,.* | + And result addresses contain + | house_number | + | 0 | + + Examples: + | format | + | xml | + | json | + | jsonv2 | + | geojson | @Tiger Scenario: TIGER house number @@ -57,6 +84,77 @@ Feature: Search queries | place_rank | | 30 | + Scenario: Search with specific amenity + When sending json search query "[restaurant] Vaduz" 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 "[shop=hifi] hamburg" + Then results contain + | class | type | + | shop | hifi | + + Scenario: With multiple amenity search only the first is used + When sending json search query "[shop=hifi] [church] hamburg" + Then results contain + | class | type | + | shop | hifi | + + Scenario: With multiple amenity search only the first is used + When sending json search query "[church] [restaurant] hamburg" + 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 + | class | type | + | amenity | restaurant | + + Scenario: Arbitrary key/value search near given coordinate + When sending json search query "[man_made=mast] 47.15739° N 9.61264° E" + Then results contain + | class | type | + | man_made | mast | + + Scenario: Arbitrary key/value search near given coordinate and named place + When sending json search query "[man_made=mast] amerlugalpe 47° 9′ 26″ N 9° 36′ 45″ E" + Then results contain + | class | type | + | man_made | mast | + + Scenario: Name search near given coordinate + When sending json search query "amerlugalpe, N 47.15739° E 9.61264°" + Then exactly 1 result is returned + + Scenario: Name search near given coordinate without result + When sending json search query "amerlugalpe, N 47 15 7 W 9 61 26" + Then exactly 0 results are returned + + Scenario: Arbitrary key/value search near a road + When sending json search query "[leisure=table_soccer_table] immenbusch" + Then results contain + | class | type | + | leisure | table_soccer_table | + + Scenario: Ignore other country codes in structured search with country + When sending json search query "" + | city | country | + | li | de | + Then exactly 0 results are returned + + Scenario: Ignore country searches when query is restricted to countries + When sending json search query "de" + | countrycodes | + | li | + Then exactly 0 results are returned + # https://trac.openstreetmap.org/ticket/5094 Scenario: housenumbers are ordered by complete match first When sending json search query "6395 geminis, montevideo" with address