X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=tests%2Ftodos.py;h=7632f39cf3b75674036452b609c7e90b3f379e34;hb=8f28c8c685fa91b9cbabb4b424da4091e52058cf;hp=9317c398b255c51b14046f888b3de4a24b70238d;hpb=c5449a0b00f8865b1129ed56bdd16f1cc055bc87;p=plomtask
diff --git a/tests/todos.py b/tests/todos.py
index 9317c39..7632f39 100644
--- a/tests/todos.py
+++ b/tests/todos.py
@@ -1,5 +1,5 @@
"""Test Todos module."""
-from tests.utils import TestCaseWithDB, TestCaseWithServer
+from tests.utils import TestCaseSansDB, TestCaseWithDB, TestCaseWithServer
from plomtask.todos import Todo, TodoNode
from plomtask.processes import Process, ProcessStep
from plomtask.conditions import Condition
@@ -7,11 +7,19 @@ from plomtask.exceptions import (NotFoundException, BadFormatException,
HandledException)
-class TestsWithDB(TestCaseWithDB):
- """Tests requiring DB, but not server setup."""
+class TestsWithDB(TestCaseWithDB, TestCaseSansDB):
+ """Tests requiring DB, but not server setup.
+
+ NB: We subclass TestCaseSansDB too, to pull in its .test_id_setting, which
+ for Todo wouldn't run without a DB being set up due to the need for
+ Processes with set IDs.
+ """
checked_class = Todo
default_init_kwargs = {'process': None, 'is_done': False,
'date': '2024-01-01'}
+ # solely used for TestCaseSansDB.test_id_setting
+ default_init_args = [None, False, '2024-01-01']
+ do_id_test = True
def setUp(self) -> None:
super().setUp()
@@ -24,6 +32,7 @@ class TestsWithDB(TestCaseWithDB):
self.cond2 = Condition(None)
self.cond2.save(self.db_conn)
self.default_init_kwargs['process'] = self.proc
+ self.default_init_args[0] = self.proc
def test_Todo_init(self) -> None:
"""Test creation of Todo and what they default to."""
@@ -193,14 +202,11 @@ class TestsWithDB(TestCaseWithDB):
self.assertEqual(len(todo_3.children), 1)
self.assertEqual(todo_3.children[0].process, proc4)
- def test_Todo_singularity(self) -> None:
- """Test pointers made for single object keep pointing to it."""
- self.check_singularity('is_done', True, self.proc, False, self.date1)
-
def test_Todo_remove(self) -> None:
"""Test removal."""
todo_1 = Todo(None, self.proc, False, self.date1)
todo_1.save(self.db_conn)
+ assert todo_1.id_ is not None
todo_0 = Todo(None, self.proc, False, self.date1)
todo_0.save(self.db_conn)
todo_0.add_child(todo_1)
@@ -228,6 +234,7 @@ class TestsWithDB(TestCaseWithDB):
todo_1.comment = 'foo'
todo_1.effort = -0.1
todo_1.save(self.db_conn)
+ assert todo_1.id_ is not None
Todo.by_id(self.db_conn, todo_1.id_)
todo_1.comment = ''
todo_1_id = todo_1.id_