X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/81922fc057b5a89fb41d05d3a31dab629ff0558a..43c2eb383ecd8484783dafff55ed376f5dad13cb:/test/bdd/api/search/queries.feature diff --git a/test/bdd/api/search/queries.feature b/test/bdd/api/search/queries.feature index 78669c4f..cf5a00c9 100644 --- a/test/bdd/api/search/queries.feature +++ b/test/bdd/api/search/queries.feature @@ -19,30 +19,41 @@ 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 | @Tiger Scenario: TIGER house number @@ -52,7 +63,87 @@ Feature: Search queries | way | Scenario: Search with class-type feature - When sending jsonv2 search query "Hotel California" + When sending jsonv2 search query "Hotel in California" Then results contain | 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 + Then result addresses contain + | ID | house_number | + | 0 | 6395 | + | 1 | 6395 BIS | +