1 Feature: Search queries
2 Testing different queries and parameters
4 Scenario: Simple XML search
5 When sending xml search query "Schaan"
6 Then result 0 has attributes place_id,osm_type,osm_id
7 And result 0 has attributes place_rank,boundingbox
8 And result 0 has attributes lat,lon,display_name
9 And result 0 has attributes class,type,importance,icon
10 And result 0 has not attributes address
12 Scenario: Simple JSON search
13 When sending json search query "Vaduz"
14 And result 0 has attributes place_id,licence,icon,class,type
15 And result 0 has attributes osm_type,osm_id,boundingbox
16 And result 0 has attributes lat,lon,display_name,importance
17 And result 0 has not attributes address
19 Scenario: JSON search with addressdetails
20 When sending json search query "Montevideo" with address
21 Then address of result 0 is
28 Scenario: XML search with addressdetails
29 When sending xml search query "Inuvik" with address
30 Then address of result 0 contains
33 | state | Northwest Territories
37 Scenario: Address details with unknown class types
38 When sending json search query "foobar, Essen" with address
41 | 0 | leisure | hackerspace
42 And result addresses contain
45 And address of result 0 does not contain leisure,hackerspace
47 Scenario: Disabling deduplication
48 When sending json search query "Oxford Street, London"
49 Then there are no duplicates
50 Given the request parameters
53 When sending json search query "Oxford Street, London"
54 Then there are duplicates
56 Scenario: Search with bounded viewbox in right area
57 Given the request parameters
59 | 1 | -87.7,41.9,-87.57,41.85
60 When sending json search query "restaurant" with address
61 Then result addresses contain
65 Scenario: Search with bounded viewboxlbrt in right area
66 Given the request parameters
67 | bounded | viewboxlbrt
68 | 1 | -87.7,41.85,-87.57,41.9
69 When sending json search query "restaurant" with address
70 Then result addresses contain
74 Scenario: No POI search with unbounded viewbox
75 Given the request parameters
77 | -87.7,41.9,-87.57,41.85
78 When sending json search query "restaurant"
81 | [^,]*(?i)restaurant.*
83 Scenario: bounded search remains within viewbox, even with no results
84 Given the request parameters
86 | 1 | 43.5403125,-5.6563282,43.54285,-5.662003
87 When sending json search query "restaurant"
88 Then less than 1 result is returned
90 Scenario: bounded search remains within viewbox with results
91 Given the request parameters
93 | 1 | -5.662003,43.55,-5.6563282,43.5403125
94 When sending json search query "restaurant"
96 | >= -5.662003 | >= 43.5403125
97 | <= -5.6563282| <= 43.55
99 Scenario: Prefer results within viewbox
100 Given the request parameters
103 When sending json search query "royan" with address
104 Then result addresses contain
107 Given the request parameters
108 | accept-language | viewbox
109 | en | 51.94,36.59,51.99,36.56
110 When sending json search query "royan" with address
111 Then result addresses contain
115 Scenario: Overly large limit number for search results
116 Given the request parameters
119 When sending json search query "Neustadt"
120 Then at most 50 results are returned
122 Scenario: Limit number of search results
123 Given the request parameters
126 When sending json search query "Neustadt"
127 Then exactly 4 results are returned
129 Scenario: Restrict to feature type country
130 Given the request parameters
133 When sending xml search query "Monaco"
138 Scenario: Restrict to feature type state
139 When sending xml search query "Berlin"
143 Given the request parameters
146 When sending xml search query "Berlin"
151 Scenario: Restrict to feature type city
152 Given the request parameters
155 When sending xml search query "Monaco"
161 Scenario: Restrict to feature type settlement
162 When sending json search query "Everest"
165 | 0 | Mount Everest.*
166 Given the request parameters
169 When sending json search query "Everest"
174 Scenario Outline: Search with polygon threshold (json)
175 Given the request parameters
176 | polygon_geojson | polygon_threshold
178 When sending json search query "switzerland"
179 Then at least 1 result is returned
180 And result 0 has attributes geojson
190 Scenario Outline: Search with polygon threshold (xml)
191 Given the request parameters
192 | polygon_geojson | polygon_threshold
194 When sending xml search query "switzerland"
195 Then at least 1 result is returned
196 And result 0 has attributes geojson
206 Scenario Outline: Search with extratags
207 Given the request parameters
210 When sending <format> search query "Hauptstr"
211 Then result 0 has attributes extratags
212 And result 1 has attributes extratags
220 Scenario Outline: Search with namedetails
221 Given the request parameters
224 When sending <format> search query "Hauptstr"
225 Then result 0 has attributes namedetails
226 And result 1 has attributes namedetails