X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;ds=sidebyside;f=tests%2Futils.py;h=3b259b2e3aaa7c202f8b581b6b9167d1e04f1128;hb=21df71ef1fde304b158da5989692c01f463515b5;hp=ed4101a6c32a52d1e26fadb99c35fd8c44d2178a;hpb=b56761522f6ec874fde1eb9d4d69d8093fe70227;p=plomtask
diff --git a/tests/utils.py b/tests/utils.py
index ed4101a..3b259b2 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -327,6 +327,24 @@ class TestCaseWithServer(TestCaseWithDB):
self.server_thread.join()
super().tearDown()
+ @staticmethod
+ def as_id_list(items: list[dict[str, object]]) -> list[int | str]:
+ """Return list of only 'id' fields of items."""
+ id_list = []
+ for item in items:
+ assert isinstance(item['id'], (int, str))
+ id_list += [item['id']]
+ return id_list
+
+ @staticmethod
+ def as_refs(items: list[dict[str, object]]
+ ) -> dict[str, dict[str, object]]:
+ """Return dictionary of items by their 'id' fields."""
+ refs = {}
+ for item in items:
+ refs[str(item['id'])] = item
+ return refs
+
@staticmethod
def proc_as_dict(id_: int = 1,
title: str = 'A',
@@ -348,10 +366,10 @@ class TestCaseWithServer(TestCaseWithDB):
'description': {0: description},
'effort': {0: effort}
},
- 'conditions': conditions if conditions else [],
- 'disables': disables if disables else [],
- 'enables': enables if enables else [],
- 'blockers': blockers if blockers else []}
+ 'conditions': [c['id'] for c in conditions] if conditions else [],
+ 'disables': [c['id'] for c in disables] if disables else [],
+ 'enables': [c['id'] for c in enables] if enables else [],
+ 'blockers': [c['id'] for c in blockers] if blockers else []}
return d
def check_redirect(self, target: str) -> None: