mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
reindex postcodes that loose their parents
When the parent place of a postcode is deleted, it needs to be reindexed to get a new parent. Otherwise displaying of results is broken.
This commit is contained in:
@@ -102,3 +102,25 @@ Feature: Update of postcode
|
||||
| country | postcode | geometry |
|
||||
| de | 01982 | country:de |
|
||||
And there are word tokens for postcodes 01982
|
||||
|
||||
Scenario: When a parent is deleted, the postcode gets a new parent
|
||||
Given the grid with origin DE
|
||||
| 1 | | 3 | 4 |
|
||||
| | 9 | | |
|
||||
| 2 | | 5 | 6 |
|
||||
Given the places
|
||||
| osm | class | type | name | admin | geometry |
|
||||
| R1 | boundary | administrative | Big | 6 | (1,4,6,2,1) |
|
||||
| R2 | boundary | administrative | Small | 6 | (1,3,5,2,1) |
|
||||
Given the named places
|
||||
| osm | class | type | addr+postcode | geometry |
|
||||
| N9 | place | postcode | 12345 | 9 |
|
||||
When importing
|
||||
And updating postcodes
|
||||
Then location_postcode contains exactly
|
||||
| country | postcode | geometry | parent_place_id |
|
||||
| de | 12345 | 9 | R2 |
|
||||
When marking for delete R2
|
||||
Then location_postcode contains exactly
|
||||
| country | postcode | geometry | parent_place_id |
|
||||
| de | 12345 | 9 | R1 |
|
||||
|
||||
@@ -129,11 +129,13 @@ class TestCliWithDb:
|
||||
table_factory('import_status', 'indexed bool')
|
||||
bnd_mock = mock_func_factory(nominatim.indexer.indexer.Indexer, 'index_boundaries')
|
||||
rank_mock = mock_func_factory(nominatim.indexer.indexer.Indexer, 'index_by_rank')
|
||||
postcode_mock = mock_func_factory(nominatim.indexer.indexer.Indexer, 'index_postcodes')
|
||||
|
||||
assert self.call_nominatim('index', *params) == 0
|
||||
|
||||
assert bnd_mock.called == do_bnds
|
||||
assert rank_mock.called == do_ranks
|
||||
assert postcode_mock.called == do_ranks
|
||||
|
||||
|
||||
def test_special_phrases_wiki_command(self, mock_func_factory):
|
||||
|
||||
Reference in New Issue
Block a user