def test_set_state(self, wf, clear_wf_hooks): handler = mock.Mock() Workflow.connect('on_state_change')(handler) wf.set_state('INITIAL') handler.assert_not_called() wf.set_state('DUMMY') handler.assert_called_with(wf, 'DUMMY')
def test_connect_chaining(self, clear_wf_hooks): hook = mock.Mock() Workflow.connect('after_active_tick')( Workflow.connect('on_finish')(hook)) assert Workflow.hooks['after_active_tick'] == [hook] assert Workflow.hooks['on_finish'] == [hook]
def test_connect_invalid_signal(self, clear_wf_hooks): with pytest.raises(WorkflowException, match=r'invalid signal'): Workflow.connect('invalid')(mock.Mock())