mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
bdd: clean up and extend API tests for details
- remove duplicates created by replacing HTML tests with JSON tests - add tests for newer functions for returning geometries and hierarchies
This commit is contained in:
62
test/bdd/api/details/language.feature
Normal file
62
test/bdd/api/details/language.feature
Normal file
@@ -0,0 +1,62 @@
|
||||
@APIDB
|
||||
Feature: Localization of search results
|
||||
|
||||
Scenario: default language
|
||||
When sending details query for R1155955
|
||||
Then results contain
|
||||
| ID | localname |
|
||||
| 0 | Liechtenstein |
|
||||
|
||||
Scenario: accept-language first
|
||||
When sending details query for R1155955
|
||||
| accept-language |
|
||||
| zh,de |
|
||||
Then results contain
|
||||
| ID | localname |
|
||||
| 0 | 列支敦士登 |
|
||||
|
||||
Scenario: accept-language missing
|
||||
When sending details query for R1155955
|
||||
| accept-language |
|
||||
| xx,fr,en,de |
|
||||
Then results contain
|
||||
| ID | localname |
|
||||
| 0 | Liechtenstein |
|
||||
|
||||
Scenario: http accept language header first
|
||||
Given the HTTP header
|
||||
| accept-language |
|
||||
| fo;q=0.8,en-ca;q=0.5,en;q=0.3 |
|
||||
When sending details query for R1155955
|
||||
Then results contain
|
||||
| ID | localname |
|
||||
| 0 | Liktinstein |
|
||||
|
||||
Scenario: http accept language header and accept-language
|
||||
Given the HTTP header
|
||||
| accept-language |
|
||||
| fr-ca,fr;q=0.8,en-ca;q=0.5,en;q=0.3 |
|
||||
When sending details query for R1155955
|
||||
| accept-language |
|
||||
| fo,en |
|
||||
Then results contain
|
||||
| ID | localname |
|
||||
| 0 | Liktinstein |
|
||||
|
||||
Scenario: http accept language header fallback
|
||||
Given the HTTP header
|
||||
| accept-language |
|
||||
| fo-ca,en-ca;q=0.5 |
|
||||
When sending details query for R1155955
|
||||
Then results contain
|
||||
| ID | localname |
|
||||
| 0 | Liktinstein |
|
||||
|
||||
Scenario: http accept language header fallback (upper case)
|
||||
Given the HTTP header
|
||||
| accept-language |
|
||||
| fo-FR;q=0.8,en-ca;q=0.5 |
|
||||
When sending details query for R1155955
|
||||
Then results contain
|
||||
| ID | localname |
|
||||
| 0 | Liktinstein |
|
||||
@@ -8,14 +8,15 @@ Feature: Object details
|
||||
And result has attributes geometry
|
||||
And result has not attributes keywords,address,linked_places,parentof
|
||||
|
||||
Scenario: JSON Details with keywords
|
||||
Scenario: JSON Details with pretty printing
|
||||
When sending json details query for W297699560
|
||||
| keywords |
|
||||
| 1 |
|
||||
| pretty |
|
||||
| 1 |
|
||||
Then the result is valid json
|
||||
And result has attributes keywords
|
||||
And result has attributes geometry
|
||||
And result has not attributes keywords,address,linked_places,parentof
|
||||
|
||||
Scenario: JSON Details with addressdetails
|
||||
Scenario: JSON Details with addressdetails
|
||||
When sending json details query for W297699560
|
||||
| addressdetails |
|
||||
| 1 |
|
||||
@@ -36,22 +37,46 @@ Feature: Object details
|
||||
Then the result is valid json
|
||||
And result has attributes hierarchy
|
||||
|
||||
Scenario: JSON Details with linkedplaces
|
||||
When sending json details query for R123924
|
||||
| linkedplaces |
|
||||
| 1 |
|
||||
Scenario: JSON Details with grouped hierarchy
|
||||
When sending json details query for W297699560
|
||||
| hierarchy | group_hierarchy |
|
||||
| 1 | 1 |
|
||||
Then the result is valid json
|
||||
And result has attributes hierarchy
|
||||
|
||||
Scenario Outline: HTML Details with keywords
|
||||
Scenario Outline: JSON Details with keywords
|
||||
When sending json details query for <osmid>
|
||||
| keywords |
|
||||
| 1 |
|
||||
Then the result is valid json
|
||||
And result has attributes keywords
|
||||
|
||||
Examples:
|
||||
| osmid |
|
||||
| W297699560 |
|
||||
| W243055645 |
|
||||
| W243055716 |
|
||||
| W43327921 |
|
||||
|
||||
# ticket #1343
|
||||
Scenario: Details of a country with keywords
|
||||
When sending details query for R1155955
|
||||
| keywords |
|
||||
| 1 |
|
||||
Then the result is valid json
|
||||
|
||||
Scenario Outline: JSON details with full geometry
|
||||
When sending json details query for <osmid>
|
||||
| polygon_geojson |
|
||||
| 1 |
|
||||
Then the result is valid json
|
||||
And result has attributes geometry
|
||||
|
||||
Examples:
|
||||
| osmid |
|
||||
| W297699560 |
|
||||
| W243055645 |
|
||||
| W243055716 |
|
||||
| W43327921 |
|
||||
|
||||
|
||||
|
||||
@@ -2,36 +2,54 @@
|
||||
Feature: Object details
|
||||
Check details page for correctness
|
||||
|
||||
Scenario: Details by place ID
|
||||
When sending details query for 107077
|
||||
Then the result is valid json
|
||||
And results contain
|
||||
| place_id |
|
||||
| 107077 |
|
||||
|
||||
Scenario Outline: Details via OSM id
|
||||
When sending <format> details query for <object>
|
||||
Then the result is valid <format>
|
||||
When sending details query for <type><id>
|
||||
Then the result is valid json
|
||||
And results contain
|
||||
| osm_type | osm_id |
|
||||
| <type> | <id> |
|
||||
|
||||
Examples:
|
||||
| format | object |
|
||||
| json | 107077 |
|
||||
| json | N5484325405 |
|
||||
| json | W43327921 |
|
||||
| json | R123924 |
|
||||
| type | id |
|
||||
| N | 5484325405 |
|
||||
| W | 43327921 |
|
||||
| R | 123924 |
|
||||
|
||||
Scenario: Details for interpolation way just return the dependent street
|
||||
When sending details query for W1
|
||||
Then the result is valid json
|
||||
And results contain
|
||||
| category |
|
||||
| highway |
|
||||
|
||||
Scenario Outline: Details for different class types for the same OSM id
|
||||
When sending details query for N300209696:<class>
|
||||
Then the result is valid json
|
||||
And results contain
|
||||
| osm_type | osm_id | category |
|
||||
| N | 300209696 | <class> |
|
||||
|
||||
Examples:
|
||||
| class |
|
||||
| tourism |
|
||||
| natural |
|
||||
| mountain_pass |
|
||||
|
||||
Scenario Outline: Details via unknown OSM id
|
||||
When sending <format> details query for <object>
|
||||
When sending details query for <object>
|
||||
Then a HTTP 400 is returned
|
||||
|
||||
Examples:
|
||||
| format | object |
|
||||
| json | 1 |
|
||||
| json | R1 |
|
||||
| object |
|
||||
| 1 |
|
||||
| R1 |
|
||||
| N300209696:highway |
|
||||
|
||||
Scenario: Details with keywords
|
||||
When sending details query for W43327921
|
||||
| keywords |
|
||||
| 1 |
|
||||
Then the result is valid json
|
||||
|
||||
# ticket #1343
|
||||
Scenario: Details of a country with keywords
|
||||
When sending details query for R1155955
|
||||
| keywords |
|
||||
| 1 |
|
||||
Then the result is valid json
|
||||
|
||||
|
||||
Reference in New Issue
Block a user