]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/db/update/linked_places.feature
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / test / bdd / db / update / linked_places.feature
index 99614b7f749aa4f7bf1b082ff7974aca259e1d41..8bc9585f6033bccc11135bd32cf08be4ee3c6c15 100644 (file)
@@ -2,6 +2,25 @@
 Feature: Updates of linked places
     Tests that linked places are correctly added and deleted.
 
 Feature: Updates of linked places
     Tests that linked places are correctly added and deleted.
 
+    Scenario: Linking is kept when boundary is updated
+        Given the places
+            | osm | class | type | name | geometry |
+            | N1  | place | city | foo  | 0 0 |
+        And the places
+            | osm | class    | type           | name | admin | geometry |
+            | R1  | boundary | administrative | foo  | 8     | poly-area:0.1 |
+        When importing
+        Then placex contains
+         | object | linked_place_id |
+         | N1     | R1 |
+        When updating places
+         | osm | class    | type           | name | name+name:de | admin | geometry |
+         | R1  | boundary | administrative | foo  | Dingens      | 8     | poly-area:0.1 |
+        Then placex contains
+         | object | linked_place_id |
+         | N1     | R1 |
+
+
     Scenario: Add linked place when linking relation is renamed
         Given the places
             | osm | class | type | name | geometry |
     Scenario: Add linked place when linking relation is renamed
         Given the places
             | osm | class | type | name | geometry |
@@ -219,3 +238,29 @@ Feature: Updates of linked places
         Then placex contains
             | object | extratags |
             | R1     | 'linked_place' : 'town' |
         Then placex contains
             | object | extratags |
             | R1     | 'linked_place' : 'town' |
+
+
+    Scenario: Keep linking and ranks when place type changes
+        Given the grid
+            | 1 |   |   | 2 |
+            |   |   | 9 |   |
+            | 4 |   |   | 3 |
+        And the places
+            | osm | class    | type           | name | admin | geometry    |
+            | R1  | boundary | administrative | foo  | 8     | (1,2,3,4,1) |
+        And the places
+            | osm | class | type | name | geometry |
+            | N1  | place | city | foo  | 9        |
+        When importing
+        Then placex contains
+            | object | linked_place_id | rank_address |
+            | N1     | R1              | 16           |
+            | R1     | -               | 16           |
+
+        When updating places
+            | osm | class | type | name | geometry |
+            | N1  | place | town | foo  | 9        |
+        Then placex contains
+            | object | linked_place_id | rank_address |
+            | N1     | R1              | 16           |
+            | R1     | -               | 16           |