Skip to content

Commit ee5b4c1

Browse files
author
Axel Hörteborn
committed
Minor updates to the tests..
1 parent 012b411 commit ee5b4c1

5 files changed

Lines changed: 21 additions & 5 deletions

File tree

support_scripts/add_field.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,11 @@ def remove_field(self: Self) -> None:
173173
stop_removing = True
174174
if stop_removing:
175175
continue
176-
self.db.execute_sql(
176+
res = self.db.execute_sql(
177177
"DELETE FROM fields WHERE field_name = %s",
178-
params=(field_name,))
178+
params=(field_name,), return_failure=True)
179+
if not isinstance(res, list) or not res[0]:
180+
return False
179181
self.parent.dock_widget.LWFields.takeItem(j)
180182
j -= 1
181183

tests/test_field.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
# @pytest.mark.depends(scope='session', name='add_field')
1010
@pytest.mark.parametrize('name, coord_input', test_data)
1111
def test_add_field(gdf: GeoDataFarm, name, coord_input):
12+
gdf.db.execute_sql("DELETE FROM fields WHERE field_name = %s", params=(name,))
1213
gdf.add_field.clicked_define_field()
1314
gdf.add_field.AFD.LEFieldName.setText(name)
1415
feat = QgsFeature(gdf.add_field.field.fields()) # Create the features

tests/test_fields_isoxml.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from . import gdf
1111

1212
def test_import_par_field_from_isoxml(gdf):
13+
gdf.db.execute_sql("DELETE FROM fields WHERE field_name = 'test_iso_added_field'")
1314
W = FindIsoField(gdf, test_path='./tests/test_data/TASKDATA3/TASKDATA.XML')
1415
W.zoom_level = 10
1516
W.fifw.PBAddFolder.click()
@@ -24,6 +25,7 @@ def test_import_par_field_from_isoxml(gdf):
2425
assert field_added
2526

2627
def test_import_task_field_from_isoxml(gdf):
28+
gdf.db.execute_sql("DELETE FROM fields WHERE field_name = 'test_iso_added_field2'")
2729
W = FindIsoField(gdf, test_path='./tests/test_data/TASKDATA2/TASKDATA.XML')
2830
W.fifw.PBAddFolder.click()
2931
W.fifw.PBGetAdditionalData.click()
@@ -69,6 +71,7 @@ def test_polygon_coordinates_consistency(find_iso_field: FindIsoField):
6971
assert original_polygon.equals_exact(saved_polygon, tolerance=1e-7), "The polygon coordinates should remain consistent before and after saving."
7072

7173
def test_import_grid_task_field_from_isoxml(gdf):
74+
gdf.db.execute_sql("DELETE FROM fields WHERE field_name = 'test_iso_added_field3'")
7275
W = FindIsoField(gdf, test_path='./tests/test_data/TASKDATA4/TASKDATA.XML')
7376
W.zoom_level = 10
7477
W.fifw.PBAddFolder.click()

tests/test_fields_shapefile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from . import gdf
77

88
def test_import_field_from_shapefile(gdf):
9+
gdf.db.execute_sql("DELETE FROM fields WHERE field_name = 'test_shape_added_field'")
910
gdf.add_shape_field()
1011
W = gdf.find_shape_field
1112
W.path='./tests/test_data/tabbehus.shp'
@@ -37,7 +38,6 @@ def test_polygon_coordinates_consistency_shapefile(gdf):
3738
item = W.fsfw.LWFields.item(0)
3839
W.on_item_clicked(item)
3940
original_wkt = W.current_polygon
40-
W.save_field()
4141
saved_wkt = W.current_polygon
4242
original_polygon = wkt.loads(original_wkt)
4343
saved_polygon = wkt.loads(saved_wkt)

tests/test_xclose.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,18 @@ def test_remove_iso_dataset(gdf: GeoDataFarm):
3636
def test_remove_xfield(gdf: GeoDataFarm, field_name):
3737
gdf.add_field.clicked_define_field()
3838
items = [gdf.dock_widget.LWFields.item(i).text() for i in range(gdf.dock_widget.LWFields.count())]
39+
matched = [text for text in items if text == field_name]
40+
print(f"\n[{field_name}] LWFields before removal: {items}")
41+
print(f"[{field_name}] Matched (will be checked): {matched}")
3942
for i, text in enumerate(items):
40-
if field_name in text:
43+
if text == field_name:
4144
gdf.dock_widget.LWFields.item(i).setCheckState(_check_state('Checked'))
4245
gdf.add_field.remove_field()
43-
assert field_name not in [gdf.dock_widget.LWFields.item(i).text() for i in range(gdf.dock_widget.LWFields.count())]
46+
remaining_lw = [gdf.dock_widget.LWFields.item(i).text() for i in range(gdf.dock_widget.LWFields.count())]
47+
print(f"[{field_name}] LWFields after removal: {remaining_lw}")
48+
remaining_db = gdf.db.execute_and_return(
49+
"SELECT COUNT(*) FROM fields WHERE field_name = %s", params=(field_name,))
50+
print(f"[{field_name}] DB count after removal: {remaining_db}")
51+
assert field_name not in remaining_lw, f"Field {field_name!r} still in LWFields after removal: {remaining_lw}"
52+
assert isinstance(remaining_db, list) and remaining_db[0][0] == 0, (
53+
f"Field {field_name!r} still present in DB after removal")

0 commit comments

Comments
 (0)