home · contact · privacy
Simplify JSON-ification of VersionedAttributes.
[plomtask] / tests / conditions.py
index 53a75b87de137fb2258d7183e94acbb8fab1e158..5270812a41e9f7fc369a426876fe316b349e34b7 100644 (file)
@@ -74,16 +74,18 @@ class TestsWithServer(TestCaseWithServer):
         """Return JSON of Condition to expect."""
         d = {'id': id_,
              'is_active': is_active,
-             'title': {'history': {}, 'parent_id': id_},
-             'description': {'history': {}, 'parent_id': id_}}
+             '_versioned': {
+                 'title': {},
+                 'description': {}
+                 }
+             }
         titles = titles if titles else []
         descriptions = descriptions if descriptions else []
+        assert isinstance(d['_versioned'], dict)
         for i, title in enumerate(titles):
-            assert isinstance(d['title'], dict)
-            d['title']['history'][f'[{i}]'] = title
+            d['_versioned']['title'][i] = title
         for i, description in enumerate(descriptions):
-            assert isinstance(d['description'], dict)
-            d['description']['history'][f'[{i}]'] = description
+            d['_versioned']['description'][i] = description
         return d
 
     @staticmethod
@@ -100,9 +102,11 @@ class TestsWithServer(TestCaseWithServer):
              'calendarize': False,
              'suppressed_steps': [],
              'explicit_steps': [],
-             'title': {'history': {'[0]': title}, 'parent_id': id_},
-             'effort': {'history': {'[0]': 1.0}, 'parent_id': id_},
-             'description': {'history': {'[0]': ''}, 'parent_id': id_},
+             '_versioned': {
+                 'title': {0: title},
+                 'description': {0: ''},
+                 'effort': {0: 1.0}
+                 },
              'conditions': conditions if conditions else [],
              'disables': disables if disables else [],
              'enables': enables if enables else [],
@@ -117,7 +121,7 @@ class TestsWithServer(TestCaseWithServer):
         post = {'title': 'foo', 'description': 'oof', 'is_active': False}
         self.check_post(post, '/condition', 302, '/condition?id=1')
         # … single /condition
-        cond = self.cond_as_dict(titles = ['foo'], descriptions = ['oof'])
+        cond = self.cond_as_dict(titles=['foo'], descriptions=['oof'])
         expected_single: dict[str, object]
         expected_single = {'is_new': False,
                            'enabled_processes': [],
@@ -137,7 +141,8 @@ class TestsWithServer(TestCaseWithServer):
         # test effect of POST changing title and activeness
         post = {'title': 'bar', 'description': 'oof', 'is_active': True}
         self.check_post(post, '/condition?id=1', 302)
-        expected_single['condition']['title']['history']['[1]'] = 'bar'
+        assert isinstance(expected_single['condition'], dict)
+        expected_single['condition']['_versioned']['title'][1] = 'bar'
         expected_single['condition']['is_active'] = True
         self.check_json_get('/condition?id=1', expected_single)
         # test deletion POST's effect on …
@@ -162,7 +167,7 @@ class TestsWithServer(TestCaseWithServer):
         proc_2_post = {'title': 'B', 'description': '', 'effort': 1.0,
                        'enables': [1], 'blocker': [1]}
         self.post_process(2, proc_2_post)
-        cond = self.cond_as_dict(titles = ['foo'], descriptions = ['oof'])
+        cond = self.cond_as_dict(titles=['foo'], descriptions=['oof'])
         proc_1 = self.proc_as_dict(conditions=[cond], disables=[cond])
         proc_2 = self.proc_as_dict(2, 'B', blockers=[cond], enables=[cond])
         expected_single = {'is_new': False,
@@ -193,7 +198,7 @@ class TestsWithServer(TestCaseWithServer):
         self.check_post(post_2, '/condition', 302, '/condition?id=2')
         post_3 = {'title': 'baz', 'description': 'zab', 'is_active': True}
         self.check_post(post_3, '/condition', 302, '/condition?id=3')
-        cond_1 = self.cond_as_dict(titles = ['foo'], descriptions = ['oof'])
+        cond_1 = self.cond_as_dict(titles=['foo'], descriptions=['oof'])
         cond_2 = self.cond_as_dict(2, titles=['bar'], descriptions=['rab'])
         cond_3 = self.cond_as_dict(3, True, ['baz'], ['zab'])
         cons = [cond_2, cond_3, cond_1]