refs[str(item['id'])] = item
return refs
+ @staticmethod
+ def cond_as_dict(id_: int = 1,
+ is_active: bool = False,
+ titles: None | list[str] = None,
+ descriptions: None | list[str] = None
+ ) -> dict[str, object]:
+ """Return JSON of Condition to expect."""
+ d = {'id': id_,
+ 'is_active': is_active,
+ '_versioned': {
+ 'title': {},
+ 'description': {}}}
+ titles = titles if titles else []
+ descriptions = descriptions if descriptions else []
+ assert isinstance(d['_versioned'], dict)
+ for i, title in enumerate(titles):
+ d['_versioned']['title'][i] = title
+ for i, description in enumerate(descriptions):
+ d['_versioned']['description'][i] = description
+ return d
+
@staticmethod
def proc_as_dict(id_: int = 1,
title: str = 'A',
description: str = '',
effort: float = 1.0,
- enables: None | list[dict[str, object]] = None,
- disables: None | list[dict[str, object]] = None,
- conditions: None | list[dict[str, object]] = None,
- blockers: None | list[dict[str, object]] = None
+ conditions: None | list[int] = None,
+ disables: None | list[int] = None,
+ blockers: None | list[int] = None,
+ enables: None | list[int] = None
) -> dict[str, object]:
"""Return JSON of Process to expect."""
# pylint: disable=too-many-arguments
'_versioned': {
'title': {0: title},
'description': {0: description},
- 'effort': {0: effort}
- },
- '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 []}
+ 'effort': {0: effort}},
+ 'conditions': conditions if conditions else [],
+ 'disables': disables if disables else [],
+ 'enables': enables if enables else [],
+ 'blockers': blockers if blockers else []}
return d
def check_redirect(self, target: str) -> None: