mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-12-18 18:41:51 +03:00
324b1b5575
The BDD tests cannot make assumptions about the structure of the word table anymore because it depends on the tokenizer. Use more abstract descriptions instead that ask for specific kinds of tokens.
105 lines
4.8 KiB
Gherkin
105 lines
4.8 KiB
Gherkin
@DB
|
|
Feature: Update of postcode
|
|
Tests for updating of data related to postcodes
|
|
|
|
Scenario: A new postcode appears in the postcode and word table
|
|
Given the places
|
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
|
| N34 | place | house | 01982 | 111 |country:de |
|
|
When importing
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| de | 01982 | country:de |
|
|
When updating places
|
|
| osm | class | type | addr+postcode | addr+housenumber | geometry |
|
|
| N35 | place | house | 4567 | 5 |country:ch |
|
|
And updating postcodes
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| de | 01982 | country:de |
|
|
| ch | 4567 | country:ch |
|
|
And there are word tokens for postcodes 01982,4567
|
|
|
|
Scenario: When the last postcode is deleted, it is deleted from postcode and word
|
|
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 updating postcodes
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| ch | 4567 | country:ch |
|
|
And there are word tokens for postcodes 4567
|
|
And there are no word tokens for postcodes 01982
|
|
|
|
Scenario: A postcode is not deleted from postcode and word 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:ch |
|
|
When importing
|
|
And marking for delete N34
|
|
And updating postcodes
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| ch | 01982 | country:ch |
|
|
And there are word tokens for postcodes 01982
|
|
|
|
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 updating postcodes
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| de | 20453 | country:de |
|
|
And there are word tokens for postcodes 20453
|
|
|
|
Scenario: When changing from a postcode type, the entry appears in placex
|
|
When importing
|
|
And updating places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| N34 | place | postcode | 01982 | country:de |
|
|
Then placex has no entry for N34
|
|
When updating places
|
|
| osm | class | type | addr+postcode | housenr | geometry |
|
|
| N34 | place | house | 20453 | 1 | country:de |
|
|
Then placex contains
|
|
| object | addr+housenumber | geometry |
|
|
| N34 | 1 | country:de|
|
|
And place contains exactly
|
|
| object | class | type |
|
|
| N34 | place | house |
|
|
When updating postcodes
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| de | 20453 | country:de |
|
|
And there are word tokens for postcodes 20453
|
|
|
|
Scenario: When changing to a postcode type, the entry disappears from placex
|
|
When importing
|
|
And updating places
|
|
| osm | class | type | addr+postcode | housenr | geometry |
|
|
| N34 | place | house | 20453 | 1 | country:de |
|
|
Then placex contains
|
|
| object | addr+housenumber | geometry |
|
|
| N34 | 1 | country:de|
|
|
When updating places
|
|
| osm | class | type | addr+postcode | geometry |
|
|
| N34 | place | postcode | 01982 | country:de |
|
|
Then placex has no entry for N34
|
|
And place contains exactly
|
|
| object | class | type |
|
|
| N34 | place | postcode |
|
|
When updating postcodes
|
|
Then location_postcode contains exactly
|
|
| country | postcode | geometry |
|
|
| de | 01982 | country:de |
|
|
And there are word tokens for postcodes 01982
|