mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-14 18:37:58 +00:00
151 lines
6.5 KiB
Gherkin
151 lines
6.5 KiB
Gherkin
Feature: Update of postcode
|
|
Tests for updating of data related to postcodes
|
|
|
|
Scenario: Updating postcode in postcode boundaries without ref
|
|
Given the grid with origin FR
|
|
| 1 | | 2 |
|
|
| | 9 | |
|
|
| 4 | | 3 |
|
|
Given the postcodes
|
|
| osm | postcode | centroid | geometry |
|
|
| R1 | 12345 | 9 | (1,2,3,4,1) |
|
|
When importing
|
|
And geocoding "12345"
|
|
Then result 0 contains
|
|
| object |
|
|
| R1 |
|
|
Given the postcodes
|
|
| osm | postcode | centroid | geometry |
|
|
| R1 | 54321 | 9 | (1,2,3,4,1) |
|
|
When refreshing postcodes
|
|
And geocoding "12345"
|
|
Then exactly 0 results are returned
|
|
When geocoding "54321"
|
|
Then result 0 contains
|
|
| object |
|
|
| R1 |
|
|
|
|
Scenario: A new postcode appears in the postcode table
|
|
Given the places
|
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
|
| N34 | place | house | 01982 | 111 | country:de |
|
|
When importing
|
|
Then location_postcodes contains exactly
|
|
| country_code | postcode | centroid!wkt |
|
|
| de | 01982 | country:de |
|
|
Given the postcodes
|
|
| osm | postcode | centroid |
|
|
| N66 | 99201 | country:fr |
|
|
When updating places
|
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
|
| N35 | place | house | 4567 | 5 | country:ch |
|
|
And refreshing postcodes
|
|
Then location_postcodes contains exactly
|
|
| country_code | postcode | centroid!wkt |
|
|
| de | 01982 | country:de |
|
|
| ch | 4567 | country:ch |
|
|
| fr | 99201 | country:fr |
|
|
|
|
Scenario: When the last postcode is deleted, it is deleted from postcode
|
|
Given the places
|
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
|
| N34 | place | house | 01982 | 111 | country:de |
|
|
| N35 | place | house | 4567 | 5 | country:ch |
|
|
When importing
|
|
And marking for delete N34
|
|
And refreshing postcodes
|
|
Then location_postcodes contains exactly
|
|
| country_code | postcode | centroid!wkt |
|
|
| ch | 4567 | country:ch |
|
|
|
|
Scenario: A postcode is not deleted from postcode when it exist in another country
|
|
Given the places
|
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
|
| N34 | place | house | 01982 | 111 | country:de |
|
|
| N35 | place | house | 01982 | 5 | country:fr |
|
|
When importing
|
|
And marking for delete N34
|
|
And refreshing postcodes
|
|
Then location_postcodes contains exactly
|
|
| country_code | postcode | centroid!wkt|
|
|
| fr | 01982 | country:fr |
|
|
|
|
Scenario: Updating a postcode is reflected in postcode table
|
|
Given the places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| N34 | place | postcode | 01982 | country:de |
|
|
When importing
|
|
And updating places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| N34 | place | postcode | 20453 | country:de |
|
|
And refreshing postcodes
|
|
Then location_postcodes contains exactly
|
|
| country_code | postcode | centroid!wkt |
|
|
| de | 20453 | country:de |
|
|
|
|
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 postcodes
|
|
| osm | postcode | centroid |
|
|
| N9 | 12345 | 9 |
|
|
When importing
|
|
Then location_postcodes contains exactly
|
|
| postcode | centroid!wkt | parent_place_id |
|
|
| 12345 | 9 | R2 |
|
|
When marking for delete R2
|
|
Then location_postcodes contains exactly
|
|
| country_code | postcode | centroid!wkt | parent_place_id |
|
|
| de | 12345 | 9 | R1 |
|
|
|
|
Scenario: When a postcode area appears, postcode points are shadowed
|
|
Given the grid with origin DE
|
|
| 1 | | 3 | |
|
|
| | 9 | | 8 |
|
|
| 2 | | 5 | |
|
|
Given the postcodes
|
|
| osm | postcode | centroid |
|
|
| N92 | 44321 | 9 |
|
|
| N4 | 00245 | 8 |
|
|
When importing
|
|
Then location_postcodes contains exactly
|
|
| country_code | postcode | osm_id | centroid!wkt |
|
|
| de | 44321 | - | 9 |
|
|
| de | 00245 | - | 8 |
|
|
Given the postcodes
|
|
| osm | postcode | centroid | geometry |
|
|
| R45 | 00245 | 9 | (1,3,5,2,1) |
|
|
When refreshing postcodes
|
|
Then location_postcodes contains exactly
|
|
| country_code | postcode | osm_id | centroid!wkt |
|
|
| de | 00245 | 45 | 9 |
|
|
|
|
Scenario: When a postcode area disappears, postcode points are unshadowed
|
|
Given the grid with origin DE
|
|
| 1 | | 3 | |
|
|
| | 9 | | 8 |
|
|
| 2 | | 5 | |
|
|
Given the postcodes
|
|
| osm | postcode | centroid | geometry |
|
|
| R45 | 00245 | 9 | (1,3,5,2,1) |
|
|
Given the postcodes
|
|
| osm | postcode | centroid |
|
|
| N92 | 44321 | 9 |
|
|
| N4 | 00245 | 8 |
|
|
When importing
|
|
Then location_postcodes contains exactly
|
|
| country_code | postcode | osm_id | centroid!wkt |
|
|
| de | 00245 | 45 | 9 |
|
|
When marking for delete R45
|
|
And refreshing postcodes
|
|
Then location_postcodes contains exactly
|
|
| country_code | postcode | osm_id | centroid!wkt |
|
|
| de | 44321 | - | 9 |
|
|
| de | 00245 | - | 8 |
|