Example #1
0
 def test_apply_defaults_and_specific(self, mock_get_content_type):
     from substanced.interfaces import IDefaultWorkflow
     from substanced.workflow import WorkflowRegistry
     mock_get_content_type.return_value = "Folder"
     workflow = WorkflowRegistry()
     wf = mock.Mock()
     wf.type = "basic"
     wf.has_state.return_value = False
     wf_specific = mock.Mock()
     wf_specific.type = "basic_2"
     wf_specific.has_state.return_value = False
     workflow.add(wf, IDefaultWorkflow)
     workflow.add(wf_specific, 'Folder')
     obj = mock.Mock()
     event = mock.Mock()
     event.object = obj
     event.registry = mock.Mock()
     event.registry.workflow = workflow
     event.object = obj
     event.moving = None
     self._callFUT(event)
     self.assertEqual(obj.mock_calls, [])
     self.assertEqual(
         wf.mock_calls,
         [mock.call.has_state(obj), mock.call.initialize(obj)]
         )
     self.assertEqual(
         wf_specific.mock_calls,
         [mock.call.has_state(obj), mock.call.initialize(obj)])
Example #2
0
 def test_apply_hierarchy(self, mock_get_content_type):
     from zope.interface import directlyProvides
     from substanced.interfaces import IFolder
     from substanced.workflow import WorkflowRegistry
     mock_get_content_type.return_value = "Folder"
     workflow = WorkflowRegistry()
     wf = mock.Mock()
     wf.type = "basic"
     wf.has_state.return_value = False
     workflow.add(wf, 'Folder')
     obj = DummyContent()
     obj2 = mock.Mock()
     obj.items = lambda *arg: [('obj2', obj2)]
     directlyProvides(obj, IFolder)
     event = mock.Mock()
     event.registry = mock.Mock()
     event.registry.workflow = workflow
     event.object = obj
     event.moving = None
     self._callFUT(event)
     self.assertEqual(obj2.mock_calls, [])
     self.assertEqual(
         wf.mock_calls,
         [
             mock.call.has_state(obj2),
             mock.call.initialize(obj2),
             mock.call.has_state(obj),
             mock.call.initialize(obj)
             ]
         )
 def test_apply_hierarchy(self, mock_get_content_type):
     from zope.interface import directlyProvides
     from substanced.interfaces import IFolder
     from substanced.workflow import WorkflowRegistry
     mock_get_content_type.return_value = "Folder"
     workflow = WorkflowRegistry()
     wf = mock.Mock()
     wf.type = "basic"
     wf.has_state.return_value = False
     workflow.add(wf, 'Folder')
     obj = DummyContent()
     obj2 = mock.Mock()
     obj.items = lambda *arg: [('obj2', obj2)]
     directlyProvides(obj, IFolder)
     event = mock.Mock()
     event.registry = mock.Mock()
     event.registry.workflow = workflow
     event.object = obj
     event.moving = None
     self._callFUT(event)
     self.assertEqual(obj2.mock_calls, [])
     self.assertEqual(wf.mock_calls, [
         mock.call.has_state(obj2),
         mock.call.initialize(obj2),
         mock.call.has_state(obj),
         mock.call.initialize(obj)
     ])
Example #4
0
 def test_no_content_type(self, mock_get_content_type):
     from substanced.interfaces import IDefaultWorkflow
     from substanced.workflow import WorkflowRegistry
     mock_get_content_type.return_value = None
     workflow = WorkflowRegistry()
     wf = mock.Mock()
     workflow.add(wf, IDefaultWorkflow)
     obj = mock.Mock()
     event = mock.Mock()
     event.registry = mock.Mock()
     event.registry.workflow = workflow
     event.object = obj
     event.moving = None
     self._callFUT(event)
     self.assertEqual(obj.mock_calls, [])
 def test_no_content_type(self, mock_get_content_type):
     from substanced.interfaces import IDefaultWorkflow
     from substanced.workflow import WorkflowRegistry
     mock_get_content_type.return_value = None
     workflow = WorkflowRegistry()
     wf = mock.Mock()
     workflow.add(wf, IDefaultWorkflow)
     obj = mock.Mock()
     event = mock.Mock()
     event.registry = mock.Mock()
     event.registry.workflow = workflow
     event.object = obj
     event.moving = None
     self._callFUT(event)
     self.assertEqual(obj.mock_calls, [])
 def test_no_workflows(self, mock_get_content_type):
     from substanced.workflow import WorkflowRegistry
     mock_get_content_type.return_value = "Folder"
     obj = mock.Mock()
     event = mock.Mock()
     event.registry = mock.Mock()
     event.registry.workflow = WorkflowRegistry()
     event.object = obj
     event.moving = None
     self._callFUT(event)
     self.assertEqual(obj.mock_calls, [])
 def test_apply_only_specific(self, mock_get_content_type):
     from substanced.workflow import WorkflowRegistry
     mock_get_content_type.return_value = "Folder"
     workflow = WorkflowRegistry()
     wf = mock.Mock()
     wf.type = "basic"
     wf.has_state.return_value = False
     workflow.add(wf, 'Folder')
     obj = mock.Mock()
     event = mock.Mock()
     event.registry = mock.Mock()
     event.registry.workflow = workflow
     event.object = obj
     event.moving = None
     self._callFUT(event)
     self.assertEqual(obj.mock_calls, [])
     self.assertEqual(wf.mock_calls, [
         mock.call.has_state(obj),
         mock.call.initialize(obj),
     ])
 def test_content_type_overrides_default(self, mock_get_content_type):
     from substanced.interfaces import IDefaultWorkflow
     from substanced.workflow import WorkflowRegistry
     mock_get_content_type.return_value = "Folder"
     workflow = WorkflowRegistry()
     wf = mock.Mock()
     wf.type = "basic"
     wf_specific = mock.Mock()
     wf_specific.type = "basic"
     wf_specific.has_state.return_value = False
     workflow.add(wf, IDefaultWorkflow)
     workflow.add(wf_specific, 'Folder')
     obj = mock.Mock()
     event = mock.Mock()
     event.registry = mock.Mock()
     event.registry.workflow = workflow
     event.object = obj
     event.moving = None
     self._callFUT(event)
     self.assertEqual(obj.mock_calls, [])
     self.assertEqual(wf.mock_calls, [])
     self.assertEqual(wf_specific.mock_calls,
                      [mock.call.has_state(obj),
                       mock.call.initialize(obj)])