"""Test .all()."""
self.check_all()
- def test_Condition_singularity(self) -> None:
- """Test pointers made for single object keep pointing to it."""
- self.check_singularity('is_active', True)
-
def test_Condition_versioned_attributes_singularity(self) -> None:
"""Test behavior of VersionedAttributes on saving (with .title)."""
self.check_versioned_singularity()
"""Test .remove() effects on DB and cache."""
self.check_remove()
- def test_Day_singularity(self) -> None:
- """Test pointers made for single object keep pointing to it."""
- self.check_singularity('day_comment', 'boo')
-
class TestsWithServer(TestCaseWithServer):
"""Tests against our HTTP server/handler (and database)."""
"""Test .all()."""
self.check_all()
- def test_Process_singularity(self) -> None:
- """Test pointers made for single object keep pointing to it."""
- self.check_singularity('conditions', [Condition(None)])
-
def test_Process_versioned_attributes_singularity(self) -> None:
"""Test behavior of VersionedAttributes on saving (with .title)."""
self.check_versioned_singularity()
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)
sorted([item1, item2, item3]))
return item1, item2, item3
- def check_singularity(self, defaulting_field: str,
- non_default_value: Any, *args: Any) -> None:
+ def test_singularity(self)-> None:
"""Test pointers made for single object keep pointing to it."""
+ if not hasattr(self, 'checked_class'):
+ return
id1 = self.default_ids[0]
- obj = self.checked_class(id1, *args) # pylint: disable=not-callable
+ obj = self.checked_class(id1, **self.default_init_kwargs)
obj.save(self.db_conn)
- setattr(obj, defaulting_field, non_default_value)
+ attr_name = self.checked_class.to_save[-1]
+ attr = getattr(obj, attr_name)
+ if isinstance(attr, (int, float)):
+ new_attr = attr + 1
+ elif isinstance(attr, str):
+ new_attr = attr + '_'
+ elif isinstance(attr, bool):
+ new_attr = not attr
+ setattr(obj, attr_name, new_attr)
retrieved = self.checked_class.by_id(self.db_conn, id1)
- self.assertEqual(non_default_value,
- getattr(retrieved, defaulting_field))
+ self.assertEqual(new_attr, getattr(retrieved, attr_name))
def check_versioned_singularity(self) -> None:
"""Test singularity of VersionedAttributes on saving (with .title)."""