X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/move_up?a=blobdiff_plain;ds=inline;f=tests%2Fconditions.py;h=6538e87019bfa7bffa0d8fccb22f8981500943d1;hb=23012cd370777b60a25839788d131173d2abee91;hp=b6510a1afbf2b7435679573ad45fbd8a8ac5ff57;hpb=c5fab0b28785bb8f3a8e2b8e455fd679cfe83d25;p=plomtask diff --git a/tests/conditions.py b/tests/conditions.py index b6510a1..6538e87 100644 --- a/tests/conditions.py +++ b/tests/conditions.py @@ -1,7 +1,8 @@ """Test Conditions module.""" from tests.utils import TestCaseWithDB, TestCaseWithServer from plomtask.conditions import Condition -from plomtask.exceptions import NotFoundException +from plomtask.processes import Process +from plomtask.exceptions import NotFoundException, HandledException class TestsWithDB(TestCaseWithDB): @@ -36,6 +37,22 @@ class TestsWithDB(TestCaseWithDB): condition_retrieved = Condition.by_id(self.db_conn, 1) self.assertEqual(True, condition_retrieved.is_active) + def test_Condition_removal(self) -> None: + """Test removal of Condition.""" + cond = Condition(None, False) + cond.save(self.db_conn) + assert isinstance(cond.id_, int) + proc = Process(None) + proc.save(self.db_conn) + proc.set_conditions(self.db_conn, [cond.id_], 'conditions') + proc.save(self.db_conn) + with self.assertRaises(HandledException): + cond.remove(self.db_conn) + proc.set_conditions(self.db_conn, [], 'conditions') + proc.save(self.db_conn) + cond.remove(self.db_conn) + self.assertEqual(Condition.all(self.db_conn), []) + class TestsWithServer(TestCaseWithServer): """Module tests against our HTTP server/handler (and database).""" @@ -43,7 +60,7 @@ class TestsWithServer(TestCaseWithServer): def test_do_POST_condition(self) -> None: """Test POST /condition and its effect on the database.""" form_data = {'title': 'foo', 'description': 'foo'} - self.check_post(form_data, '/condition', 302, '/') + self.check_post(form_data, '/condition', 302, '/condition?id=1') self.assertEqual(1, len(Condition.all(self.db_conn))) def test_do_GET(self) -> None: