mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
force update of linker when linkee is updates
Potential name changes need to be added to the linker's name hstore. Fixes #170.
This commit is contained in:
@@ -89,3 +89,47 @@ Feature: Updates of linked places
|
||||
| osm_type |
|
||||
| R |
|
||||
|
||||
Scenario: Update linking relation when linkee name is updated
|
||||
Given the places
|
||||
| osm | class | type | name | admin | geometry |
|
||||
| R1 | boundary | administrative | rel | 8 | poly-area:0.1 |
|
||||
And the places
|
||||
| osm | class | type | name+name:de | admin | geometry |
|
||||
| N3 | place | city | pnt | 30 | 0.00001 0 |
|
||||
And the relations
|
||||
| id | members |
|
||||
| 1 | N3:label |
|
||||
When importing
|
||||
Then placex contains
|
||||
| object | linked_place_id | name+name:de |
|
||||
| R1 | - | pnt |
|
||||
| N3 | R1 | pnt |
|
||||
When updating places
|
||||
| osm | class | type | name+name:de | admin | geometry |
|
||||
| N3 | place | city | newname | 30 | 0.00001 0 |
|
||||
Then placex contains
|
||||
| object | linked_place_id | name+name:de |
|
||||
| N3 | R1 | newname |
|
||||
| R1 | - | newname |
|
||||
|
||||
Scenario: Updating linkee extratags keeps linker's extratags
|
||||
Given the named places
|
||||
| osm | class | type | extra+wikidata | admin | geometry |
|
||||
| R1 | boundary | administrative | 34 | 8 | poly-area:0.1 |
|
||||
And the named places
|
||||
| osm | class | type | geometry |
|
||||
| N3 | place | city | 0.00001 0 |
|
||||
And the relations
|
||||
| id | members |
|
||||
| 1 | N3:label |
|
||||
When importing
|
||||
Then placex contains
|
||||
| object | extratags |
|
||||
| R1 | 'wikidata' : '34', 'place' : 'city' |
|
||||
When updating places
|
||||
| osm | class | type | name | extra+oneway | admin | geometry |
|
||||
| N3 | place | city | newname | yes | 30 | 0.00001 0 |
|
||||
Then placex contains
|
||||
| object | extratags |
|
||||
| R1 | 'wikidata' : '34', 'oneway' : 'yes', 'place' : 'city' |
|
||||
|
||||
|
||||
@@ -348,7 +348,13 @@ def check_placex_contents(context, exact):
|
||||
if exact:
|
||||
expected_content.add((res['osm_type'], res['osm_id'], res['class']))
|
||||
for h in row.headings:
|
||||
if h.startswith('name'):
|
||||
if h in ('extratags', 'address'):
|
||||
if row[h] == '-':
|
||||
assert_is_none(res[h])
|
||||
else:
|
||||
vdict = eval('{' + row[h] + '}')
|
||||
assert_equals(vdict, res[h])
|
||||
elif h.startswith('name'):
|
||||
name = h[5:] if h.startswith('name+') else 'name'
|
||||
assert_in(name, res['name'])
|
||||
eq_(res['name'][name], row[h])
|
||||
|
||||
Reference in New Issue
Block a user