]> git.openstreetmap.org Git - nominatim.git/blob - test/bdd/db/update/simple.feature
fix bug with keeping linking on updates
[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  | natural  | wood        | poly-area:5.0 |
34           | R2  | highway  | residential | poly-area:5.0 |
35         When importing
36         Then placex contains
37           | object | rank_address |
38           | R1     | 0 |
39           | R2     | 26 |
40           | W1     | 30 |
41         When marking for delete R1,R2,W1
42         Then placex has no entry for W1
43         Then placex has no entry for R1
44         Then placex has no entry for R2
45
46     Scenario: type mutation
47         Given the places
48           | osm | class | type | geometry |
49           | N3  | shop  | toys | 1 -1 |
50         When importing
51         Then placex contains
52           | object | class | type | centroid |
53           | N3     | shop  | toys | 1 -1 |
54         When updating places
55           | osm | class | type    | geometry |
56           | N3  | shop  | grocery | 1 -1 |
57         Then placex contains
58           | object | class | type    | centroid |
59           | N3     | shop  | grocery | 1 -1 |
60
61     Scenario: remove postcode place when house number is added
62         Given the places
63           | osm | class | type     | postcode | geometry |
64           | N3  | place | postcode | 12345    | 1 -1 |
65         When importing
66         Then placex has no entry for N3
67         When updating places
68           | osm | class | type  | postcode | housenr | geometry |
69           | N3  | place | house | 12345    | 13      | 1 -1 |
70         Then placex contains
71           | object | class | type |
72           | N3     | place | house |
73
74     Scenario: remove boundary when changing from polygon to way
75         Given the grid
76           | 1 | 2 |
77           | 3 | 4 |
78         And the places
79           | osm | class    | type           | name | admin | geometry        |
80           | W1  | boundary | administrative | Haha | 5     | (1, 2, 4, 3, 1) |
81         When importing
82         Then placex contains
83           | object |
84           | W1 |
85         When updating places
86           | osm | class    | type           | name | admin | geometry   |
87           | W1  | boundary | administrative | Haha | 5     | 1, 2, 4, 3 |
88         Then placex has no entry for W1
89
90      #895
91      Scenario: update rank when boundary is downgraded from admin to historic
92         Given the grid
93           | 1 | 2 |
94           | 3 | 4 |
95         And the places
96           | osm | class    | type           | name | admin | geometry        |
97           | W1  | boundary | administrative | Haha | 5     | (1, 2, 4, 3, 1) |
98         When importing
99         Then placex contains
100           | object | rank_address |
101           | W1     | 10           |
102         When updating places
103           | osm | class    | type           | name | admin | geometry        |
104           | W1  | boundary | historic       | Haha | 5     | (1, 2, 4, 3, 1) |
105         Then placex contains
106           | object | rank_address |
107           | W1     | 0            |