public function testSetDefaultOptions() { $resolver = new OptionsResolver(); $resolver->setDefaults(['constraints' => null]); $workflowItem = new WorkflowItem(); $transitionName = 'TransitionName'; $this->type->setDefaultOptions($resolver); $result = $resolver->resolve(['workflow_item' => $workflowItem, 'transition_name' => $transitionName]); $this->assertEquals(['workflow_item' => $workflowItem, 'transition_name' => $transitionName, 'constraints' => [new TransitionIsAllowed($workflowItem, $transitionName)]], $result); }
public function testSetDefaultOptions() { $resolver = $this->getMock('Symfony\\Component\\OptionsResolver\\OptionsResolverInterface'); $resolver->expects($this->once())->method('setRequired')->with(array('workflow_item', 'transition_name')); $resolver->expects($this->once())->method('setAllowedTypes')->with(array('transition_name' => 'string')); $resolver->expects($this->once())->method('setNormalizers')->will($this->returnCallback(function ($value) { $this->assertInternalType('array', $value); $this->assertArrayHasKey('constraints', $value); $this->assertInternalType('callable', $value['constraints']); $workflowItem = $this->getMock('Oro\\Bundle\\WorkflowBundle\\Entity\\WorkflowItem'); $transitionName = 'test_transition'; $options = new Options(); $options->set('workflow_item', $workflowItem); $options->set('transition_name', $transitionName); $constraints = array(); $constraints = $value['constraints']($options, $constraints); $this->assertInstanceOf('Oro\\Bundle\\WorkflowBundle\\Validator\\Constraints\\TransitionIsAllowed', $constraints[0]); $this->assertEquals($workflowItem, $constraints[0]->getWorkflowItem()); $this->assertEquals($transitionName, $constraints[0]->getTransitionName()); })); $this->type->setDefaultOptions($resolver); }