verfahrensgebiet-Vaiable wird sauber gesetzt

This commit is contained in:
2026-04-08 14:36:20 +02:00
parent 8e4031a884
commit 9ec465e276
2 changed files with 57 additions and 0 deletions
+29
View File
@@ -14,6 +14,24 @@ class _Scope:
class TestVerfahrensgebietManager(unittest.TestCase):
@patch("sn_basis.functions.verfahrensgebiet_manager.get_variable", return_value="layer_123")
def test_get_verfahrensgebiet_layer_id_returns_value(self, _mock_get_variable):
result = verfahrensgebiet_manager.get_verfahrensgebiet_layer_id()
self.assertEqual(result, "layer_123")
@patch("sn_basis.functions.verfahrensgebiet_manager.get_variable", return_value="")
def test_get_verfahrensgebiet_layer_id_returns_none_for_empty_value(self, _mock_get_variable):
result = verfahrensgebiet_manager.get_verfahrensgebiet_layer_id()
self.assertIsNone(result)
@patch("sn_basis.functions.verfahrensgebiet_manager.set_variable")
def test_set_verfahrensgebiet_layer_id_writes_project_variable(self, mock_set_variable):
verfahrensgebiet_manager.set_verfahrensgebiet_layer_id("layer_abc")
mock_set_variable.assert_called_once_with("verfahrensgebiet_layer", "layer_abc", scope="project")
@patch("sn_basis.functions.verfahrensgebiet_manager._find_verfahrensgebiet_layer")
@patch("sn_basis.functions.variable_wrapper.QgsProject.instance")
@patch("sn_basis.functions.variable_wrapper.QgsExpressionContextUtils.setProjectVariable")
@@ -34,6 +52,17 @@ class TestVerfahrensgebietManager(unittest.TestCase):
self.assertFalse(result)
mock_set_project_variable.assert_not_called()
@patch("sn_basis.functions.verfahrensgebiet_manager._find_verfahrensgebiet_layer")
@patch("sn_basis.functions.verfahrensgebiet_manager.set_variable")
def test_update_with_layer_writes_variable(self, mock_set_variable, mock_find_layer):
mock_layer = object()
mock_find_layer.return_value = (mock_layer, "layer_99")
result = verfahrensgebiet_manager._update_verfahrensgebiet_from_project()
self.assertTrue(result)
mock_set_variable.assert_called_once_with("verfahrensgebiet_layer", "layer_99", scope="project")
if __name__ == "__main__":
unittest.main()