X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=tests%2Futils.py;fp=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: