]> git.openstreetmap.org Git - nominatim.git/blob - test/bdd/api/search/queries.feature
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / test / bdd / api / search / queries.feature
1 @APIDB
2 Feature: Search queries
3     Generic search result correctness
4
5     Scenario: House number search for non-street address
6         When sending json search query "2 Steinwald, Austria" with address
7           | accept-language |
8           | en |
9         Then address of result 0 is
10           | type         | value |
11           | house_number | 2 |
12           | hamlet       | Steinwald |
13           | postcode     | 6811 |
14           | country      | Austria |
15           | country_code | at |
16
17     Scenario: House number interpolation even
18         When sending json search query "Schellingstr 86, Hamburg" with address
19           | accept-language |
20           | de |
21         Then address of result 0 is
22           | type         | value |
23           | house_number | 86 |
24           | road         | Schellingstraße |
25           | suburb       | Eilbek |
26           | postcode     | 22089 |
27           | city_district | Wandsbek |
28           | state        | Hamburg |
29           | country      | Deutschland |
30           | country_code | de |
31
32     Scenario: House number interpolation odd
33         When sending json search query "Schellingstr 73, Hamburg" with address
34           | accept-language |
35           | de |
36         Then address of result 0 is
37           | type         | value |
38           | house_number | 73 |
39           | road         | Schellingstraße |
40           | suburb       | Eilbek |
41           | postcode     | 22089 |
42           | city_district | Wandsbek |
43           | state        | Hamburg |
44           | country      | Deutschland |
45           | country_code | de |
46
47     @Tiger
48     Scenario: TIGER house number
49         When sending json search query "323 22nd Street Southwest, Huron"
50         Then results contain
51          | osm_type |
52          | way |
53
54     Scenario: Search with class-type feature
55         When sending jsonv2 search query "Hotel in California"
56         Then results contain
57           | place_rank |
58           | 30 |
59
60     Scenario: Search with specific amenity
61         When sending json search query "[restaurant] Vaduz" with address
62         Then result addresses contain
63           | country |
64           | Liechtenstein |
65         And  results contain
66           | class   | type |
67           | amenity | restaurant |
68
69     Scenario: Search with key-value amenity
70         When sending json search query "[shop=hifi] hamburg"
71         Then results contain
72           | class | type |
73           | shop  | hifi |
74
75     Scenario: With multiple amenity search only the first is used
76         When sending json search query "[shop=hifi] [church] hamburg"
77         Then results contain
78           | class | type |
79           | shop  | hifi |
80
81     Scenario: With multiple amenity search only the first is used
82         When sending json search query "[church] [restaurant] hamburg"
83         Then results contain
84           | class   | type |
85           | amenity | place_of_worship |
86
87     Scenario: POI search near given coordinate
88         When sending json search query "restaurant near 47.16712,9.51100"
89         Then results contain
90           | class   | type |
91           | amenity | restaurant |
92
93     Scenario: Arbitrary key/value search near given coordinate
94         When sending json search query "[man_made=mast]  47.15739,9.61264"
95         Then results contain
96           | class    | type |
97           | man_made | mast |
98
99     Scenario: Arbitrary key/value search near a road
100         When sending json search query "[leisure=table_soccer_table] immenbusch"
101         Then results contain
102           | class   | type |
103           | leisure | table_soccer_table |
104
105     Scenario: Ignore other country codes in structured search with country
106         When sending json search query ""
107             | city | country |
108             | li   | de      |
109         Then exactly 0 results are returned
110
111     Scenario: Ignore country searches when query is restricted to countries
112         When sending json search query "de"
113             | countrycodes |
114             | li  |
115         Then exactly 0 results are returned
116
117     # https://trac.openstreetmap.org/ticket/5094
118     Scenario: housenumbers are ordered by complete match first
119         When sending json search query "6395 geminis, montevideo" with address
120         Then result addresses contain
121           | ID | house_number |
122           | 0  | 6395 |
123           | 1  | 6395 BIS |
124