2 Feature: Creation of search terms
3 Tests that search_name table is filled correctly
5 Scenario: POIs without a name have no search entry
6 Given the scene roads-with-pois
8 | osm | class | type | geometry |
9 | N1 | place | house | :p-N1 |
11 | osm | class | type | geometry |
12 | W1 | highway | residential | :w-north |
14 Then search_name has no entry for N1
16 Scenario: Named POIs inherit address from parent
17 Given the scene roads-with-pois
19 | osm | class | type | name | geometry |
20 | N1 | place | house | foo | :p-N1 |
21 | W1 | highway | residential | the road | :w-north |
23 Then search_name contains
24 | object | name_vector | nameaddress_vector |
25 | N1 | foo | the road |
27 Scenario: Some addr: tags are added to address when the name exists
28 Given the scene roads-with-pois
30 | osm | class | type | name | geometry |
31 | N1 | place | state | new york | 80 80 |
32 | N2 | place | city | bonn | 81 81 |
33 | N3 | place | suburb | smalltown| 80 81 |
35 | osm | class | type | addr+city | addr+state | addr+suburb | geometry |
36 | W1 | highway | service | bonn | New York | Smalltown | :w-north |
38 Then search_name contains
39 | object | nameaddress_vector |
40 | W1 | bonn, new york, smalltown |
42 Scenario: A known addr:* tag is not added if the name is unknown
43 Given the scene roads-with-pois
45 | osm | class | type | name | addr+city | geometry |
46 | W1 | highway | residential | Road | Nandu | :w-north |
48 Then search_name contains not
49 | object | nameaddress_vector |
52 Scenario: addr:postcode is not added to the address terms
53 Given the scene roads-with-pois
55 | osm | class | type | name+ref | geometry |
56 | N1 | place | state | 12345 | 80 80 |
58 | osm | class | type | addr+postcode | geometry |
59 | W1 | highway | residential | 12345 | :w-north |
61 Then search_name contains not
62 | object | nameaddress_vector |
65 Scenario: is_in is split and added to the address search terms
66 Given the scene roads-with-pois
68 | osm | class | type | name | geometry |
69 | N1 | place | state | new york | 80 80 |
70 | N2 | place | city | bonn | 81 81 |
71 | N3 | place | suburb | smalltown| 80 81 |
73 | osm | class | type | addr+is_in | geometry |
74 | W1 | highway | service | bonn, New York, Smalltown | :w-north |
76 Then search_name contains
77 | object | nameaddress_vector |
78 | W1 | bonn, new york, smalltown |
80 Scenario: a linked place does not show up in search name
81 Given the named places
82 | osm | class | type | admin | geometry |
83 | R13 | boundary | administrative | 9 | poly-area:0.01 |
85 | osm | class | type | geometry |
86 | N2 | place | city | 0.1 0.1 |
88 | id | members | tags+type |
89 | 13 | N2:label | boundary |
92 | object | linked_place_id |
94 And search_name has no entry for N2
96 Scenario: a linked waterway does not show up in search name
97 Given the scene split-road
99 | osm | class | type | name | geometry |
100 | W1 | waterway | river | Rhein | :w-2 |
101 | W2 | waterway | river | Rhein | :w-3 |
102 | R13 | waterway | river | Rhein | :w-1 + :w-2 + :w-3 |
104 | id | members | tags+type |
105 | 13 | W1,W2:main_stream | waterway |
108 | object | linked_place_id |
111 And search_name has no entry for W1
112 And search_name has no entry for W2