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)
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)
# test posting to bad URLs
form_data = {}
self.check_post(form_data, '/todo=', 404)
self.check_post(form_data, '/todo?id=1', 404)
# test posting second todo of same process
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)
# test todo 1 adopting todo 2
form_data = {'adopt': 2}
todo1 = post_and_reload(form_data)
self.assertEqual(todo1.parents, [])
self.assertEqual(todo2.children, [])
self.assertEqual(todo2.parents, [todo1])
- # test failure of re-adopting same child
- self.check_post(form_data, '/todo?id=1', 400, '/')
# test todo1 cannot be set done with todo2 not done yet
- form_data = {'done': ''}
+ form_data = {'done': '', 'adopt': 2}
todo1 = post_and_reload(form_data, 400)
self.assertEqual(todo1.is_done, False)
+ # test todo1 un-adopting todo 2 by just not sending an adopt
+ form_data = {}
+ todo1 = post_and_reload(form_data, 302)
+ todo2 = Todo.by_date(self.db_conn, '2024-01-01')[1]
+ self.assertEqual(todo1.children, [])
+ self.assertEqual(todo1.parents, [])
+ self.assertEqual(todo2.children, [])
+ self.assertEqual(todo2.parents, [])
def test_do_GET_todo(self) -> None:
"""Test GET /todo response codes."""