X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/35c7269bac84241c12bae21d0da8feffc631a729..6f55c67d1688e683769ea6a1fc4ed5aa913ffe97:/test/bdd/db/import/linking.feature diff --git a/test/bdd/db/import/linking.feature b/test/bdd/db/import/linking.feature index ceb45586..fa96e5b3 100644 --- a/test/bdd/db/import/linking.feature +++ b/test/bdd/db/import/linking.feature @@ -127,3 +127,92 @@ Feature: Linking of places | N3:natural | - | | N3:place | R1 | + Scenario: Nodes with 'role' label are always linked + Given the places + | osm | class | type | admin | name | geometry | + | R13 | boundary | administrative | 6 | Garbo | poly-area:0.1 | + | N2 | place | hamlet | 15 | Vario | 0.006 0.00001 | + And the relations + | id | members | tags+type | + | 13 | N2:label | boundary | + When importing + Then placex contains + | object | linked_place_id | + | N2 | R13 | + And placex contains + | object | centroid | name+name | extratags+linked_place | + | R13 | 0.006 0.00001 | Garbo | hamlet | + + Scenario: Boundaries with place tags are linked against places with same type + Given the places + | osm | class | type | admin | name | extra+place | geometry | + | R13 | boundary | administrative | 4 | Berlin | city |poly-area:0.1 | + And the places + | osm | class | type | name | geometry | + | N2 | place | city | Berlin | 0.006 0.00001 | + When importing + Then placex contains + | object | linked_place_id | + | N2 | R13 | + And placex contains + | object | rank_address | + | R13 | 16 | + When searching for "" + | city | + | Berlin | + Then results contain + | ID | osm_type | osm_id | + | 0 | R | 13 | + When searching for "" + | state | + | Berlin | + Then results contain + | ID | osm_type | osm_id | + | 0 | R | 13 | + + + Scenario: Boundaries without place tags only link against same admin level + Given the places + | osm | class | type | admin | name | geometry | + | R13 | boundary | administrative | 4 | Berlin |poly-area:0.1 | + And the places + | osm | class | type | name | geometry | + | N2 | place | city | Berlin | 0.006 0.00001 | + When importing + Then placex contains + | object | linked_place_id | + | N2 | - | + And placex contains + | object | rank_address | + | R13 | 8 | + When searching for "" + | state | + | Berlin | + Then results contain + | ID | osm_type | osm_id | + | 0 | R | 13 | + When searching for "" + | city | + | Berlin | + Then results contain + | ID | osm_type | osm_id | + | 0 | N | 2 | + + # github #1352 + Scenario: Do not use linked centroid when it is outside the area + Given the named places + | osm | class | type | admin | geometry | + | R13 | boundary | administrative | 4 | poly-area:0.01 | + And the named places + | osm | class | type | geometry | + | N2 | place | city | 0.1 0.1 | + And the relations + | id | members | tags+type | + | 13 | N2:label | boundary | + When importing + Then placex contains + | object | linked_place_id | + | N2 | R13 | + And placex contains + | object | centroid | + | R13 | in geometry |