| 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,9.61264"
+ Then results contain
+ | class | type |
+ | man_made | mast |
+
+ 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 |
+