home · contact · privacy
Refactor tests, expand Days testing.
[plomtask] / tests / utils.py
index f473c180ba565355a3b6ac0a03acb85d2fa307de..ed4101a6c32a52d1e26fadb99c35fd8c44d2178a 100644 (file)
@@ -327,6 +327,33 @@ class TestCaseWithServer(TestCaseWithDB):
         self.server_thread.join()
         super().tearDown()
 
+    @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
+                     ) -> dict[str, object]:
+        """Return JSON of Process to expect."""
+        # pylint: disable=too-many-arguments
+        d = {'id': id_,
+             'calendarize': False,
+             'suppressed_steps': [],
+             'explicit_steps': [],
+             '_versioned': {
+                 'title': {0: title},
+                 '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 []}
+        return d
+
     def check_redirect(self, target: str) -> None:
         """Check that self.conn answers with a 302 redirect to target."""
         response = self.conn.getresponse()