]> git.openstreetmap.org Git - nominatim.git/blob - test/bdd/db/update/simple.feature
d48e97fa881ff85cff2e9d5331cd7a08f5dfc7a5
[nominatim.git] / test / bdd / db / update / simple.feature
1 @DB
2 Feature: Update of simple objects
3     Testing simple updating functionality
4
5     Scenario: Do delete small boundary features
6         Given the places
7           | osm | class    | type           | admin | geometry |
8           | R1  | boundary | administrative | 3     | poly-area:1.0 |
9         When importing
10         Then placex contains
11           | object | rank_search |
12           | R1     | 6 |
13         When marking for delete R1
14         Then placex has no entry for R1
15
16     Scenario: Do not delete large boundary features
17         Given the places
18           | osm | class    | type           | admin | geometry |
19           | R1  | boundary | administrative | 3     | poly-area:5.0 |
20         When importing
21         Then placex contains
22           | object | rank_search |
23           | R1     | 6 |
24         When marking for delete R1
25         Then placex contains 
26           | object | rank_search |
27           | R1     | 6 |
28
29     Scenario: Do delete large features of low rank
30         Given the named places
31           | osm | class    | type          | geometry |
32           | W1  | place    | house         | poly-area:5.0 |
33           | R1  | boundary | national_park | poly-area:5.0 |
34         When importing
35         Then placex contains
36           | object | rank_address |
37           | R1     | 0 |
38           | W1     | 30 |
39         When marking for delete R1,W1
40         Then placex has no entry for W1
41         Then placex has no entry for R1
42
43     Scenario: type mutation
44         Given the places
45           | osm | class | type | geometry |
46           | N3  | shop  | toys | 1 -1 |
47         When importing
48         Then placex contains
49           | object | class | type | centroid |
50           | N3     | shop  | toys | 1 -1 |
51         When updating places
52           | osm | class | type    | geometry |
53           | N3  | shop  | grocery | 1 -1 |
54         Then placex contains
55           | object | class | type    | centroid |
56           | N3     | shop  | grocery | 1 -1 |
57
58     Scenario: remove postcode place when house number is added
59         Given the places
60           | osm | class | type     | postcode | geometry |
61           | N3  | place | postcode | 12345    | 1 -1 |
62         When importing
63         Then placex contains
64           | object | class | type |
65           | N3     | place | postcode |
66         When updating places
67           | osm | class | type  | postcode | housenr | geometry |
68           | N3  | place | house | 12345    | 13      | 1 -1 |
69         Then placex contains
70           | object | class | type |
71           | N3     | place | house |
72
73     Scenario: remove boundary when changing from polygon to way
74         Given the grid
75           | 1 | 2 |
76           | 3 | 4 |
77         And the places
78           | osm | class    | type           | name | admin | geometry        |
79           | W1  | boundary | administrative | Haha | 5     | (1, 2, 4, 3, 1) |
80         When importing
81         Then placex contains
82           | object |
83           | W1 |
84         When updating places
85           | osm | class    | type           | name | admin | geometry   |
86           | W1  | boundary | administrative | Haha | 5     | 1, 2, 4, 3 |
87         Then placex has no entry for W1
88
89      #895
90      Scenario: update rank when boundary is downgraded from admin to historic
91         Given the grid
92           | 1 | 2 |
93           | 3 | 4 |
94         And the places
95           | osm | class    | type           | name | admin | geometry        |
96           | W1  | boundary | administrative | Haha | 5     | (1, 2, 4, 3, 1) |
97         When importing
98         Then placex contains
99           | object | rank_address |
100           | W1     | 10           |
101         When updating places
102           | osm | class    | type           | name | admin | geometry        |
103           | W1  | boundary | historic       | Haha | 5     | (1, 2, 4, 3, 1) |
104         Then placex contains
105           | object | rank_address |
106           | W1     | 0            |