]> git.openstreetmap.org Git - nominatim.git/commitdiff
add BDD tests for new layers parameter
authorSarah Hoffmann <lonvia@denofr.de>
Wed, 29 Mar 2023 18:49:34 +0000 (20:49 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Thu, 30 Mar 2023 07:54:55 +0000 (09:54 +0200)
nominatim/api/v1/format_json.py
test/bdd/api/reverse/layers.feature [new file with mode: 0644]

index 7387c89b8037ce0490707e7dc49cce592e899f61..ef5f5280ee884fc82060990ce43123f813a39909 100644 (file)
@@ -28,7 +28,6 @@ def _write_typed_address(out: JsonWriter, address: Optional[napi.AddressLines],
                 label = cl.get_label_tag(line.category, line.extratags,
                                          line.rank_address, country_code)
                 if label not in parts:
-                    print(label)
                     parts[label] = line.local_name
             if line.names and 'ISO3166-2' in line.names and line.admin_level:
                 parts[f"ISO3166-2-lvl{line.admin_level}"] = line.names['ISO3166-2']
diff --git a/test/bdd/api/reverse/layers.feature b/test/bdd/api/reverse/layers.feature
new file mode 100644 (file)
index 0000000..d4c334a
--- /dev/null
@@ -0,0 +1,88 @@
+@APIDB
+Feature: Layer parameter in reverse geocoding
+    Testing correct function of layer selection while reverse geocoding
+
+    @v1-api-python-only
+    Scenario: POIs are selected by default
+        When sending v1/reverse at 47.14077,9.52414
+        Then results contain
+          | category | type      |
+          | tourism  | viewpoint |
+
+
+    @v1-api-python-only
+    Scenario Outline: Same address level POI with different layers
+        When sending v1/reverse at 47.14077,9.52414
+          | layer   |
+          | <layer> |
+        Then results contain
+          | category   |
+          | <category> |
+
+
+        Examples:
+          | layer           | category |
+          | address         | highway  |
+          | poi,address     | tourism  |
+          | address,poi     | tourism  |
+          | natural         | waterway |
+          | address,natural | highway  |
+          | natural,poi     | tourism  |
+
+
+    @v1-api-python-only
+     Scenario Outline: POIs are not selected without housenumber for address layer
+        When sending v1/reverse at 47.13816,9.52168
+          | layer   |
+          | <layer> |
+        Then results contain
+          | category   | type   |
+          | <category> | <type> |
+
+        Examples:
+          | layer       | category | type     |
+          | address,poi | highway  | bus_stop |
+          | address     | amenity  | parking  |
+
+
+    @v1-api-python-only
+     Scenario: Between natural and low-zoom address prefer natural
+         When sending v1/reverse at 47.13636,9.52094
+           | layer           | zoom |
+           | natural,address | 15   |
+         Then results contain
+           | category |
+           | waterway |
+
+
+    @v1-api-python-only
+    Scenario Outline: Search for mountain peaks begins at level 12
+        When sending v1/reverse at 47.08221,9.56769
+          | layer   | zoom   |
+          | natural | <zoom> |
+        Then results contain
+          | category   | type   |
+          | <category> | <type> |
+
+        Examples:
+          | zoom | category | type  |
+          | 12   | natural  | peak  |
+          | 13   | waterway | river |
+
+
+    @v1-api-python-only
+     Scenario Outline: Reverse serach with manmade layers
+        When sending v1/reverse at 32.46904,-86.44439
+          | layer   |
+          | <layer> |
+        Then results contain
+          | category   | type   |
+          | <category> | <type> |
+
+        Examples:
+          | layer           | category | type        |
+          | manmade         | leisure  | park        |
+          | address         | highway  | residential |
+          | poi             | leisure  | pitch       |
+          | natural         | waterway | stream      |
+          | natural,manmade | leisure  | park        |