| country | postcode | geometry |
| de | 01982 | country:de |
| ch | 4567 | country:ch |
- And word contains
- | word | class | type |
- | 01982 | place | postcode |
- | 4567 | place | postcode |
+ 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
Then location_postcode contains exactly
| country | postcode | geometry |
| ch | 4567 | country:ch |
- And word contains not
- | word | class | type |
- | 01982 | place | postcode |
- And word contains
- | word | class | type |
- | 4567 | place | postcode |
+ 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
Then location_postcode contains exactly
| country | postcode | geometry |
| ch | 01982 | country:ch |
- And word contains
- | word | class | type |
- | 01982 | place | postcode |
+ 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