class TestsWithDB(TestCaseWithDB):
"""Tests requiring DB, but not server setup."""
checked_class = Todo
+ default_init_kwargs = {'process': None, 'is_done': False,
+ 'date': '2024-01-01'}
def setUp(self) -> None:
super().setUp()
self.cond1.save(self.db_conn)
self.cond2 = Condition(None)
self.cond2.save(self.db_conn)
+ self.default_init_kwargs['process'] = self.proc
def test_Todo_init(self) -> None:
"""Test creation of Todo and what they default to."""
self.assertEqual(todo_yes_id.enables, [])
self.assertEqual(todo_yes_id.disables, [])
- def test_Todo_saving_and_caching(self) -> None:
- """Test .save."""
- kwargs = {'id_': 1,
- 'process': self.proc,
- 'is_done': False,
- 'date': self.date1}
- self.check_saving_and_caching(**kwargs)
- todo = Todo(None, self.proc, False, self.date1)
- todo.save(self.db_conn)
- self.assertEqual(todo.id_, 2)
-
def test_Todo_by_id(self) -> None:
"""Test findability of Todos."""
todo = Todo(1, self.proc, False, self.date1)
self.check_post({}, '/todo?id=FOO', 400)
self.check_post({}, '/todo?id=0', 404)
# test posting naked entity
- todo1 = post_and_reload({'comment': ''})
+ todo1 = post_and_reload({})
self.assertEqual(todo1.children, [])
self.assertEqual(todo1.parents, [])
self.assertEqual(todo1.is_done, False)
# test posting doneness
- todo1 = post_and_reload({'done': '', 'comment': ''})
+ todo1 = post_and_reload({'done': ''})
self.assertEqual(todo1.is_done, True)
# test implicitly posting non-doneness
- todo1 = post_and_reload({'comment': ''})
+ todo1 = post_and_reload({})
self.assertEqual(todo1.is_done, False)
# test malformed adoptions
self.check_post({'adopt': 'foo'}, '/todo?id=1', 400)
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, 'comment': ''})
+ todo1 = post_and_reload({'adopt': 2})
todo2 = Todo.by_date(self.db_conn, '2024-01-01')[1]
self.assertEqual(todo1.children, [todo2])
self.assertEqual(todo1.parents, [])
self.assertEqual(todo2.children, [])
self.assertEqual(todo2.parents, [todo1])
# test todo1 cannot be set done with todo2 not done yet
- todo1 = post_and_reload({'done': '', 'adopt': 2, 'comment': ''}, 400)
+ todo1 = post_and_reload({'done': '', 'adopt': 2}, 400)
self.assertEqual(todo1.is_done, False)
# test todo1 un-adopting todo 2 by just not sending an adopt
- todo1 = post_and_reload({'comment': ''}, 302)
+ todo1 = post_and_reload({}, 302)
todo2 = Todo.by_date(self.db_conn, '2024-01-01')[1]
self.assertEqual(todo1.children, [])
self.assertEqual(todo1.parents, [])