- # check display of process relations
- form_data = {'title': 'foo', 'description': 'oof', 'is_active': False}
- self.check_post(form_data, '/condition', 302, '/condition?id=1')
- proc_1_post = {'title': 'A', 'description': '', 'effort': 1.0,
- 'condition': [1], 'disables': [1]}
- self.post_process(1, proc_1_post)
- 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'])
- 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,
- 'enabled_processes': [proc_1],
- 'disabled_processes': [proc_2],
- 'enabling_processes': [proc_2],
- 'disabling_processes': [proc_1],
- 'condition': cond}
- self.check_json_get('/condition?id=1', expected_single)
+ # make Condition and two Processes that among them establish all
+ # possible ConditionsRelations to it, …
+ cond_post = {'title': 'foo', 'description': 'oof', 'is_active': False}
+ self.check_post(cond_post, '/condition', 302, '/condition?id=1')
+ proc1_post = {'title': 'A', 'description': '', 'effort': 1.0,
+ 'conditions': [1], 'disables': [1]}
+ proc2_post = {'title': 'B', 'description': '', 'effort': 1.0,
+ 'enables': [1], 'blockers': [1]}
+ self.post_process(1, proc1_post)
+ self.post_process(2, proc2_post)
+ # … then check /condition displays all these properly.
+ cond = self.cond_as_dict(titles=['foo'], descriptions=['oof'])
+ assert isinstance(cond['id'], int)
+ proc1 = self.proc_as_dict(conditions=[cond['id']],
+ disables=[cond['id']])
+ proc2 = self.proc_as_dict(2, 'B',
+ blockers=[cond['id']],
+ enables=[cond['id']])
+ expected = self.GET_condition_dict(cond)
+ assert isinstance(expected['_library'], dict)
+ expected['enabled_processes'] = self.as_id_list([proc1])
+ expected['disabled_processes'] = self.as_id_list([proc2])
+ expected['enabling_processes'] = self.as_id_list([proc2])
+ expected['disabling_processes'] = self.as_id_list([proc1])
+ expected['_library']['Process'] = self.as_refs([proc1, proc2])
+ self.check_json_get('/condition?id=1', expected)