home · contact · privacy
Minor tests refactoring.
[plomtask] / tests / utils.py
index 545a2ba2881372e2bcd479ecd4e8cd2d7da2ed8c..b7d126931f2195402db85b0ca61c87b791f3be77 100644 (file)
@@ -5,7 +5,7 @@ from http.client import HTTPConnection
 from urllib.parse import urlencode
 from datetime import datetime
 from os import remove as remove_file
 from urllib.parse import urlencode
 from datetime import datetime
 from os import remove as remove_file
-from typing import Mapping
+from typing import Mapping, Any
 from plomtask.db import DatabaseFile, DatabaseConnection
 from plomtask.http import TaskHandler, TaskServer
 from plomtask.processes import Process, ProcessStep
 from plomtask.db import DatabaseFile, DatabaseConnection
 from plomtask.http import TaskHandler, TaskServer
 from plomtask.processes import Process, ProcessStep
@@ -84,3 +84,12 @@ class TestCaseWithServer(TestCaseWithDB):
         self.check_get(f'{path}?id=foo', 400)
         self.check_get(f'/{path}?id=0', 500)
         self.check_get(f'{path}?id=1', 200)
         self.check_get(f'{path}?id=foo', 400)
         self.check_get(f'/{path}?id=0', 500)
         self.check_get(f'{path}?id=1', 200)
+
+    def post_process(self, id_: int = 1,
+                     form_data: dict[str, Any] | None = None
+                     ) -> dict[str, Any]:
+        """POST basic Process."""
+        if not form_data:
+            form_data = {'title': 'foo', 'description': 'foo', 'effort': 1.1}
+        self.check_post(form_data, '/process?id=', 302, f'/process?id={id_}')
+        return form_data