class TestsWithDB(TestCaseWithDB):
- """Tests not requiring DB setup."""
+ """Tests requiring DB, but not server setup."""
def test_Todo_by_id(self) -> None:
"""Test creation and findability of Todos."""
todo.save(self.db_conn)
process.save_without_steps(self.db_conn)
todo.save(self.db_conn)
- with self.assertRaises(NotFoundException):
- _ = Todo.by_id(self.db_conn, 1)
- day.save(self.db_conn)
self.assertEqual(Todo.by_id(self.db_conn, 1), todo)
with self.assertRaises(NotFoundException):
self.assertEqual(Todo.by_id(self.db_conn, 0), todo)
todo1.save(self.db_conn)
todo2 = Todo(None, process, False, day1)
todo2.save(self.db_conn)
- with self.assertRaises(NotFoundException):
- _ = Todo.by_date(self.db_conn, day1.date)
- day1.save(self.db_conn)
- day2.save(self.db_conn)
self.assertEqual(Todo.by_date(self.db_conn, day1.date), [todo1, todo2])
self.assertEqual(Todo.by_date(self.db_conn, day2.date), [])
self.assertEqual(Todo.by_date(self.db_conn, 'foo'), [])
+ def test_Todo_singularity(self) -> None:
+ """Test pointers made for single object keep pointing to it."""
+ day = Day('2024-01-01')
+ day.save(self.db_conn)
+ process = Process(None)
+ process.save_without_steps(self.db_conn)
+ todo = Todo(None, process, False, day)
+ todo.save(self.db_conn)
+ retrieved_todo = Todo.by_id(self.db_conn, 1)
+ todo.is_done = True
+ self.assertEqual(retrieved_todo.is_done, True)
+ retrieved_todo = Todo.by_date(self.db_conn, '2024-01-01')[0]
+ retrieved_todo.is_done = False
+ self.assertEqual(todo.is_done, False)
+
class TestsWithServer(TestCaseWithServer):
"""Tests against our HTTP server/handler (and database)."""