/**
  * @param string $workflowName
  * @param array $attributes
  * @param array $steps
  * @param string|null $relatedEntity
  * @return Workflow
  */
 protected function createWorkflow($workflowName, array $attributes = array(), array $steps = array(), $relatedEntity = null)
 {
     $entityConnector = $this->getMockBuilder('Oro\\Bundle\\WorkflowBundle\\Model\\EntityConnector')->disableOriginalConstructor()->getMock();
     $aclManager = $this->getMockBuilder('Oro\\Bundle\\WorkflowBundle\\Acl\\AclManager')->disableOriginalConstructor()->getMock();
     $workflow = new Workflow($entityConnector, $aclManager);
     $workflow->setName($workflowName);
     foreach ($attributes as $name => $attribute) {
         $workflow->getAttributeManager()->getAttributes()->set($name, $attribute);
     }
     $workflow->getStepManager()->setSteps($steps);
     $definition = new WorkflowDefinition();
     $definition->setRelatedEntity($relatedEntity);
     $workflow->setDefinition($definition);
     return $workflow;
 }
Ejemplo n.º 2
0
 /**
  * Ensure that all database entities in workflow are still in Doctrine Unit of Work
  *
  * @param Workflow $workflow
  * @return Workflow
  * @throws WorkflowNotFoundException
  */
 protected function refreshWorkflow(Workflow $workflow)
 {
     $refreshedDefinition = $this->refreshWorkflowDefinition($workflow->getDefinition());
     $workflow->setDefinition($refreshedDefinition);
     return $workflow;
 }