X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/8c3a0efe8b75a06279998e66a932d8a56c483961..83013f819b463b14332854dd80cc47629bea0d1a:/test/bdd/db/update/postcode.feature?ds=sidebyside diff --git a/test/bdd/db/update/postcode.feature b/test/bdd/db/update/postcode.feature index fbac9341..39318101 100644 --- a/test/bdd/db/update/postcode.feature +++ b/test/bdd/db/update/postcode.feature @@ -18,10 +18,7 @@ Feature: Update of postcode | 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 @@ -34,25 +31,96 @@ Feature: Update of postcode 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 | osm | class | type | addr+postcode | addr+housenumber | geometry | | N34 | place | house | 01982 | 111 |country:de | - | N35 | place | house | 01982 | 5 |country:ch | + | N35 | place | house | 01982 | 5 |country:fr | When importing And marking for delete N34 And updating postcodes Then location_postcode contains exactly | country | postcode | geometry | - | ch | 01982 | country:ch | - And word contains - | word | class | type | - | 01982 | place | postcode | + | fr | 01982 | country:fr | + 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 + + 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 |