def test_workflow_transition_from_custom(self): registerDummyRenderer('templates/edit_acl.pt') from repoze.workflow.testing import DummyWorkflow from zope.interface import Interface from zope.interface import directlyProvides workflow = DummyWorkflow() def state_info(context, request): return [{'name': 'foo', 'current': True, 'transitions': True}, {'name': 'bar', 'current': False, 'transitions': True}] workflow.state_info = state_info def get_dummy_workflow(*args, **kw): return workflow import karl.views.acl old_f = karl.views.acl.get_context_workflow karl.views.acl.get_context_workflow = get_dummy_workflow try: context = testing.DummyModel() context.state = 'foo' context.__custom_acl__ = [] directlyProvides(Interface) request = testing.DummyRequest() request.POST['form.security_state'] = 1 request.POST['security_state'] = 'bar' self._callFUT(context, request) self.assertEqual(workflow.transitioned[0]['to_state'], 'bar') self.assertEqual(workflow.resetted, [context,]) self.failIf(hasattr(context, '__custom_acl__')) finally: karl.views.acl.get_context_workflow = old_f
def test_show_workflow_custom_acl(self): from repoze.workflow.testing import DummyWorkflow from zope.interface import Interface from zope.interface import directlyProvides workflow = DummyWorkflow() def state_info(context, request): return [{'name': 'foo', 'current': True, 'transitions': True}, {'name': 'bar', 'current': False, 'transitions': True}] workflow.state_info = state_info def get_dummy_workflow(*args, **kw): return workflow import karl.views.acl old_f = karl.views.acl.get_context_workflow karl.views.acl.get_context_workflow = get_dummy_workflow try: context = testing.DummyModel() context.state = 'foo' context.__custom_acl__ = [] directlyProvides(Interface) request = testing.DummyRequest() renderer = karl.testing.registerDummyRenderer('templates/edit_acl.pt') self._callFUT(context, request) self.assertEqual(renderer.security_state, 'CUSTOM') self.assertEqual(renderer.security_states, ['CUSTOM', 'foo', 'bar']) finally: karl.views.acl.get_context_workflow = old_f
def test_workflow_transition_from_custom(self): registerDummyRenderer('templates/edit_acl.pt') from repoze.workflow.testing import DummyWorkflow from zope.interface import Interface from zope.interface import directlyProvides workflow = DummyWorkflow() def state_info(context, request): return [{ 'name': 'foo', 'current': True, 'transitions': True }, { 'name': 'bar', 'current': False, 'transitions': True }] workflow.state_info = state_info def get_dummy_workflow(*args, **kw): return workflow import karl.views.acl old_f = karl.views.acl.get_context_workflow karl.views.acl.get_context_workflow = get_dummy_workflow try: context = testing.DummyModel() context.state = 'foo' context.__custom_acl__ = [] directlyProvides(Interface) request = testing.DummyRequest() request.POST['form.security_state'] = 1 request.POST['security_state'] = 'bar' self._callFUT(context, request) self.assertEqual(workflow.transitioned[0]['to_state'], 'bar') self.assertEqual(workflow.resetted, [ context, ]) self.failIf(hasattr(context, '__custom_acl__')) finally: karl.views.acl.get_context_workflow = old_f
def test_show_workflow_custom_acl(self): from repoze.workflow.testing import DummyWorkflow from zope.interface import Interface from zope.interface import directlyProvides workflow = DummyWorkflow() def state_info(context, request): return [{ 'name': 'foo', 'current': True, 'transitions': True }, { 'name': 'bar', 'current': False, 'transitions': True }] workflow.state_info = state_info def get_dummy_workflow(*args, **kw): return workflow import karl.views.acl old_f = karl.views.acl.get_context_workflow karl.views.acl.get_context_workflow = get_dummy_workflow try: context = testing.DummyModel() context.state = 'foo' context.__custom_acl__ = [] directlyProvides(Interface) request = testing.DummyRequest() renderer = karl.testing.registerDummyRenderer( 'templates/edit_acl.pt') self._callFUT(context, request) self.assertEqual(renderer.security_state, 'CUSTOM') self.assertEqual(renderer.security_states, ['CUSTOM', 'foo', 'bar']) finally: karl.views.acl.get_context_workflow = old_f