]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/bdd/db/import/postcodes.feature
keep inherited address parts after indexing
[nominatim.git] / test / bdd / db / import / postcodes.feature
index 863a9b3abcb87fe525363fa2c9f56e964033e1a2..37c30ef887fa124c7eeddd86ead52571e2523380 100644 (file)
@@ -134,6 +134,89 @@ Feature: Import of postcodes
         Then location_postcode contains exactly
            | country | postcode | geometry |
            | de      | 01982    | country:de |
-        And word contains
-           | word  | class | type |
-           | 01982 | place | postcode |
+        And there are word tokens for postcodes 01982
+
+    Scenario: Different postcodes with the same normalization can both be found
+        Given the places
+           | osm | class | type  | addr+postcode | addr+housenumber | geometry |
+           | N34 | place | house | EH4 7EA       | 111              | country:gb |
+           | N35 | place | house | E4 7EA        | 111              | country:gb |
+        When importing
+        Then location_postcode contains exactly
+           | country | postcode | geometry |
+           | gb      | EH4 7EA  | country:gb |
+           | gb      | E4 7EA   | country:gb |
+        When sending search query "EH4 7EA"
+        Then results contain
+           | type     | display_name |
+           | postcode | EH4 7EA      |
+        When sending search query "E4 7EA"
+        Then results contain
+           | type     | display_name |
+           | postcode | E4 7EA       |
+
+    Scenario: search and address ranks for GB post codes correctly assigned
+        Given the places
+         | osm  | class | type     | postcode | geometry |
+         | N1   | place | postcode | E45 2CD  | country:gb |
+         | N2   | place | postcode | E45 2    | country:gb |
+         | N3   | place | postcode | Y45      | country:gb |
+        When importing
+        Then location_postcode contains exactly
+         | postcode | country | rank_search | rank_address |
+         | E45 2CD  | gb      | 25          | 5 |
+         | E45 2    | gb      | 23          | 5 |
+         | Y45      | gb      | 21          | 5 |
+
+    Scenario: wrongly formatted GB postcodes are down-ranked
+        Given the places
+         | osm  | class | type     | postcode | geometry |
+         | N1   | place | postcode | EA452CD  | country:gb |
+         | N2   | place | postcode | E45 23   | country:gb |
+        When importing
+        Then location_postcode contains exactly
+         | postcode | country | rank_search | rank_address |
+         | EA452CD  | gb      | 30          | 30 |
+         | E45 23   | gb      | 30          | 30 |
+
+    Scenario: search and address rank for DE postcodes correctly assigned
+        Given the places
+         | osm | class | type     | postcode | geometry |
+         | N1  | place | postcode | 56427    | country:de |
+         | N2  | place | postcode | 5642     | country:de |
+         | N3  | place | postcode | 5642A    | country:de |
+         | N4  | place | postcode | 564276   | country:de |
+        When importing
+        Then location_postcode contains exactly
+         | postcode | country | rank_search | rank_address |
+         | 56427    | de      | 21          | 11 |
+         | 5642     | de      | 30          | 30 |
+         | 5642A    | de      | 30          | 30 |
+         | 564276   | de      | 30          | 30 |
+
+    Scenario: search and address rank for other postcodes are correctly assigned
+        Given the places
+         | osm | class | type     | postcode | geometry |
+         | N1  | place | postcode | 1        | country:ca |
+         | N2  | place | postcode | X3       | country:ca |
+         | N3  | place | postcode | 543      | country:ca |
+         | N4  | place | postcode | 54dc     | country:ca |
+         | N5  | place | postcode | 12345    | country:ca |
+         | N6  | place | postcode | 55TT667  | country:ca |
+         | N7  | place | postcode | 123-65   | country:ca |
+         | N8  | place | postcode | 12 445 4 | country:ca |
+         | N9  | place | postcode | A1:bc10  | country:ca |
+        When importing
+        Then location_postcode contains exactly
+         | postcode | country | rank_search | rank_address |
+         | 1        | ca      | 21          | 11 |
+         | X3       | ca      | 21          | 11 |
+         | 543      | ca      | 21          | 11 |
+         | 54DC     | ca      | 21          | 11 |
+         | 12345    | ca      | 21          | 11 |
+         | 55TT667  | ca      | 21          | 11 |
+         | 123-65   | ca      | 25          | 11 |
+         | 12 445 4 | ca      | 25          | 11 |
+         | A1:BC10  | ca      | 25          | 11 |
+
+