X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;ds=sidebyside;f=tests%2Ftodos.py;h=b85f2d105f0f09e174f13de88506b309ccfc4f3d;hb=db1c88ab178f6ec54a994f2789c9db25604fcd83;hp=b47834c980a39c0ee7b7ce09f52917f712c6813c;hpb=ac5a85f6d0186d714415ce7e2b51597bf5dca248;p=plomtask diff --git a/tests/todos.py b/tests/todos.py index b47834c..b85f2d1 100644 --- a/tests/todos.py +++ b/tests/todos.py @@ -266,6 +266,22 @@ class TestsWithDB(TestCaseWithDB): retrieved_todo.is_done = False self.assertEqual(todo.is_done, False) + def test_Todo_remove(self) -> None: + """Test removal.""" + todo_1 = Todo(None, self.proc, False, self.date1) + todo_1.save(self.db_conn) + todo_0 = Todo(None, self.proc, False, self.date1) + todo_0.save(self.db_conn) + todo_0.add_child(todo_1) + todo_2 = Todo(None, self.proc, False, self.date1) + todo_2.save(self.db_conn) + todo_1.add_child(todo_2) + todo_1.remove(self.db_conn) + with self.assertRaises(NotFoundException): + Todo.by_id(self.db_conn, todo_1.id_) + self.assertEqual(todo_0.children, []) + self.assertEqual(todo_2.parents, []) + class TestsWithServer(TestCaseWithServer): """Tests against our HTTP server/handler (and database).""" @@ -273,15 +289,15 @@ class TestsWithServer(TestCaseWithServer): def test_do_POST_day(self) -> None: """Test Todo posting of POST /day.""" form_data = {'title': '', 'description': '', 'effort': 1} - self.check_post(form_data, '/process?id=', 302, '/') - self.check_post(form_data, '/process?id=', 302, '/') + self.check_post(form_data, '/process?id=', 302, '/process?id=1') + self.check_post(form_data, '/process?id=', 302, '/process?id=2') proc = Process.by_id(self.db_conn, 1) proc2 = Process.by_id(self.db_conn, 2) form_data = {'comment': ''} - self.check_post(form_data, '/day?date=2024-01-01', 302, '/') + self.check_post(form_data, '/day?date=2024-01-01', 302) self.assertEqual(Todo.by_date(self.db_conn, '2024-01-01'), []) form_data['new_todo'] = str(proc.id_) - self.check_post(form_data, '/day?date=2024-01-01', 302, '/') + self.check_post(form_data, '/day?date=2024-01-01', 302) todos = Todo.by_date(self.db_conn, '2024-01-01') self.assertEqual(1, len(todos)) todo1 = todos[0] @@ -289,7 +305,7 @@ class TestsWithServer(TestCaseWithServer): self.assertEqual(todo1.process.id_, proc.id_) self.assertEqual(todo1.is_done, False) form_data['new_todo'] = str(proc2.id_) - self.check_post(form_data, '/day?date=2024-01-01', 302, '/') + self.check_post(form_data, '/day?date=2024-01-01', 302) todos = Todo.by_date(self.db_conn, '2024-01-01') todo1 = todos[1] self.assertEqual(todo1.id_, 2) @@ -298,13 +314,13 @@ class TestsWithServer(TestCaseWithServer): def test_do_POST_todo(self) -> None: """Test POST /todo.""" - def post_and_reload(form_data: dict[str, object], - status: int = 302) -> Todo: - self.check_post(form_data, '/todo?id=1', status, '/') + def post_and_reload(form_data: dict[str, object], status: int = 302, + redir_url: str = '/todo?id=1') -> Todo: + self.check_post(form_data, '/todo?id=1', status, redir_url) return Todo.by_date(self.db_conn, '2024-01-01')[0] # test minimum form_data = {'title': '', 'description': '', 'effort': 1} - self.check_post(form_data, '/process', 302) + self.check_post(form_data, '/process', 302, '/process?id=1') form_data = {'comment': '', 'new_todo': 1} self.check_post(form_data, '/day?date=2024-01-01', 302) # test posting to bad URLs @@ -356,13 +372,16 @@ class TestsWithServer(TestCaseWithServer): self.assertEqual(todo1.parents, []) self.assertEqual(todo2.children, []) self.assertEqual(todo2.parents, []) + # test todo1 deletion + form_data = {'delete': ''} + todo1 = post_and_reload(form_data, 302, '/') def test_do_POST_day_todo_adoption(self) -> None: """Test Todos posted to Day view may adopt existing Todos.""" form_data = {'title': '', 'description': '', 'effort': 1} - self.check_post(form_data, '/process', 302, '/') + self.check_post(form_data, '/process', 302, '/process?id=1') form_data['new_top_step'] = 1 - self.check_post(form_data, '/process', 302, '/') + self.check_post(form_data, '/process', 302, '/process?id=2') form_data = {'comment': '', 'new_todo': 1} self.check_post(form_data, '/day?date=2024-01-01', 302) form_data = {'comment': '', 'new_todo': 2} @@ -377,9 +396,9 @@ class TestsWithServer(TestCaseWithServer): def test_do_GET_todo(self) -> None: """Test GET /todo response codes.""" form_data = {'title': '', 'description': '', 'effort': 1} - self.check_post(form_data, '/process?id=', 302, '/') + self.check_post(form_data, '/process?id=', 302, '/process?id=1') form_data = {'comment': '', 'new_todo': 1} - self.check_post(form_data, '/day?date=2024-01-01', 302, '/') + self.check_post(form_data, '/day?date=2024-01-01', 302) self.check_get('/todo', 400) self.check_get('/todo?id=', 400) self.check_get('/todo?id=foo', 400)