X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;f=tests%2Futils.py;h=d8bd247bd8391682e5f7577c56f5e77d86216e9f;hb=aa0f1ff1b3ccb57a1c3c2772fc6a172643cdab73;hp=a4f29ff45263cc2716f2299fa3f6d36d973d03a6;hpb=02aa60b59cea2c0401efd785f3bb5d06aec7bf4d;p=plomtask diff --git a/tests/utils.py b/tests/utils.py index a4f29ff..d8bd247 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -131,7 +131,7 @@ class TestCaseWithDB(TestCase): self.check_storage([obj]) def test_from_table_row(self) -> None: - """Test .from_table_row() properly reads in class from DB.""" + """Test .from_table_row() properly reads in class directly from DB.""" if not hasattr(self, 'checked_class'): return id_ = self.default_ids[0] @@ -174,25 +174,26 @@ class TestCaseWithDB(TestCase): attr = getattr(retrieved, attr_name) self.assertEqual(sorted(attr.history.values()), vals) - def check_all(self) -> tuple[Any, Any, Any]: - """Test .all().""" - # pylint: disable=not-callable - item1 = self.checked_class(self.default_ids[0]) - item2 = self.checked_class(self.default_ids[1]) - item3 = self.checked_class(self.default_ids[2]) - # check pre-save .all() returns empty list + def test_all(self) -> None: + """Test .all() and its relation to cache and savings.""" + if not hasattr(self, 'checked_class'): + return + id_1, id_2, id_3 = self.default_ids + item1 = self.checked_class(id_1, **self.default_init_kwargs) + item2 = self.checked_class(id_2, **self.default_init_kwargs) + item3 = self.checked_class(id_3, **self.default_init_kwargs) + # check .all() returns empty list on un-cached items self.assertEqual(self.checked_class.all(self.db_conn), []) - # check that all() shows all saved, but no unsaved items - item1.save(self.db_conn) + # check that all() shows only cached/saved items + item1.cache() item3.save(self.db_conn) self.assertEqual(sorted(self.checked_class.all(self.db_conn)), sorted([item1, item3])) item2.save(self.db_conn) self.assertEqual(sorted(self.checked_class.all(self.db_conn)), sorted([item1, item2, item3])) - return item1, item2, item3 - def test_singularity(self)-> None: + def test_singularity(self) -> None: """Test pointers made for single object keep pointing to it.""" if not hasattr(self, 'checked_class'): return @@ -201,6 +202,7 @@ class TestCaseWithDB(TestCase): obj.save(self.db_conn) attr_name = self.checked_class.to_save[-1] attr = getattr(obj, attr_name) + new_attr: str | int | float | bool if isinstance(attr, (int, float)): new_attr = attr + 1 elif isinstance(attr, str):