X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=tests%2Ftodos.py;h=419d3dba122cb274110e30a6697cb5f40f8849d2;hb=e06d3b744f88b2976399b0cbe08b526bb7e88907;hp=a8219fa7506a8c4c7649dd4eb4952948dd14c9f8;hpb=bdb37bdbfdc46a64631c0fb97d0d86540076165e;p=plomtask diff --git a/tests/todos.py b/tests/todos.py index a8219fa..419d3db 100644 --- a/tests/todos.py +++ b/tests/todos.py @@ -237,7 +237,7 @@ class TestsWithServer(TestCaseWithServer): self.post_process(2) proc = Process.by_id(self.db_conn, 1) proc2 = Process.by_id(self.db_conn, 2) - form_data = {'comment': ''} + form_data = {'day_comment': ''} 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_) @@ -264,7 +264,7 @@ class TestsWithServer(TestCaseWithServer): return Todo.by_date(self.db_conn, '2024-01-01')[0] # test minimum self.post_process() - self.check_post({'comment': '', 'new_todo': 1}, + self.check_post({'day_comment': '', 'new_todo': 1}, '/day?date=2024-01-01', 302) # test posting to bad URLs self.check_post({}, '/todo=', 404) @@ -287,7 +287,7 @@ class TestsWithServer(TestCaseWithServer): self.check_post({'adopt': 1}, '/todo?id=1', 400) self.check_post({'adopt': 2}, '/todo?id=1', 404) # test posting second todo of same process - self.check_post({'comment': '', 'new_todo': 1}, + self.check_post({'day_comment': '', 'new_todo': 1}, '/day?date=2024-01-01', 302) # test todo 1 adopting todo 2 todo1 = post_and_reload({'adopt': 2}) @@ -313,7 +313,7 @@ class TestsWithServer(TestCaseWithServer): """Test Todos posted to Day view may adopt existing Todos.""" form_data = self.post_process() form_data = self.post_process(2, form_data | {'new_top_step': 1}) - form_data = {'comment': '', 'new_todo': 1} + form_data = {'day_comment': '', 'new_todo': 1} self.check_post(form_data, '/day?date=2024-01-01', 302) form_data['new_todo'] = 2 self.check_post(form_data, '/day?date=2024-01-01', 302) @@ -324,10 +324,56 @@ class TestsWithServer(TestCaseWithServer): self.assertEqual(todo2.children, [todo1]) self.assertEqual(todo2.parents, []) + def test_do_POST_day_todo_multiple(self) -> None: + """Test multiple Todos can be posted to Day view.""" + form_data = self.post_process() + form_data = self.post_process(2) + form_data = {'day_comment': '', 'new_todo': [1, 2]} + self.check_post(form_data, '/day?date=2024-01-01', 302) + todo1 = Todo.by_date(self.db_conn, '2024-01-01')[0] + todo2 = Todo.by_date(self.db_conn, '2024-01-01')[1] + self.assertEqual(todo1.process.id_, 1) + self.assertEqual(todo2.process.id_, 2) + + def test_do_POST_day_todo_multiple_inner_adoption(self) -> None: + """Test multiple Todos can be posted to Day view w. inner adoption.""" + form_data = self.post_process() + form_data = self.post_process(2, form_data | {'new_top_step': 1}) + form_data = {'day_comment': '', 'new_todo': [1, 2]} + self.check_post(form_data, '/day?date=2024-01-01', 302) + todo1 = Todo.by_date(self.db_conn, '2024-01-01')[0] + todo2 = Todo.by_date(self.db_conn, '2024-01-01')[1] + self.assertEqual(todo1.children, []) + self.assertEqual(todo1.parents, [todo2]) + self.assertEqual(todo2.children, [todo1]) + self.assertEqual(todo2.parents, []) + # check process ID order does not affect end result + form_data = {'day_comment': '', 'new_todo': [2, 1]} + self.check_post(form_data, '/day?date=2024-01-02', 302) + todo1 = Todo.by_date(self.db_conn, '2024-01-02')[1] + todo2 = Todo.by_date(self.db_conn, '2024-01-02')[0] + self.assertEqual(todo1.children, []) + self.assertEqual(todo1.parents, [todo2]) + self.assertEqual(todo2.children, [todo1]) + self.assertEqual(todo2.parents, []) + + def test_do_POST_day_todo_doneness(self) -> None: + """Test Todo doneness can be posted to Day view.""" + form_data = self.post_process() + form_data = {'day_comment': '', 'new_todo': [1]} + self.check_post(form_data, '/day?date=2024-01-01', 302) + todo = Todo.by_date(self.db_conn, '2024-01-01')[0] + form_data = {'day_comment': '', 'todo_id': [1]} + self.check_post(form_data, '/day?date=2024-01-01', 302) + self.assertEqual(todo.is_done, False) + form_data = {'day_comment': '', 'todo_id': [1], 'done': [1]} + self.check_post(form_data, '/day?date=2024-01-01', 302) + self.assertEqual(todo.is_done, True) + def test_do_GET_todo(self) -> None: """Test GET /todo response codes.""" self.post_process() - form_data = {'comment': '', 'new_todo': 1} + form_data = {'day_comment': '', 'new_todo': 1} self.check_post(form_data, '/day?date=2024-01-01', 302) self.check_get('/todo', 400) self.check_get('/todo?id=', 400)