Example #1
0
 /**
  * Get transitions for existing workflow item.
  *
  * @param WorkflowItem $workflowItem
  * @return Collection|Transition[]
  * @throws UnknownStepException
  */
 public function getTransitionsByWorkflowItem(WorkflowItem $workflowItem)
 {
     $currentStepName = $workflowItem->getCurrentStep()->getName();
     $currentStep = $this->stepManager->getStep($currentStepName);
     if (!$currentStep) {
         throw new UnknownStepException($currentStepName);
     }
     $transitions = new ArrayCollection();
     $transitionNames = $currentStep->getAllowedTransitions();
     foreach ($transitionNames as $transitionName) {
         $transition = $this->transitionManager->extractTransition($transitionName);
         $transitions->add($transition);
     }
     return $transitions;
 }
 public function testExtractTransitionString()
 {
     $transitionName = 'test';
     $transition = $this->getMockBuilder('Oro\\Bundle\\WorkflowBundle\\Model\\Transition')->disableOriginalConstructor()->getMock();
     $transition->expects($this->any())->method('getName')->will($this->returnValue($transitionName));
     $transitionsManager = new TransitionManager(new ArrayCollection(array($transition)));
     $this->assertSame($transition, $transitionsManager->extractTransition($transitionName));
 }