function testBeforeShouldTriggerActions() { $current_user = new MockUser(); $field_value_new = new MockTracker_FormElement_Field_List_Value(); $field_value_new->setReturnValue('getId', 2066); //'old_id' => null, //'field_id' => 2707, //'value' => 'New', //'description' => 'The bug has been submitted', //'rank' => '10'); $field_value_analyzed = new MockTracker_FormElement_Field_List_Value(); $field_value_analyzed->setReturnValue('getId', 2067); //'old_id' => null, //'field_id' => 2707, //'value' => 'Analyzed', //'description' => 'The bug is analyzed', //'rank' => '20'); $fields_data = array('field_id' => 'value'); $t1 = new Transition(1, 2, $field_value_new, $field_value_analyzed); $a1 = new MockTransition_PostAction(); $a2 = new MockTransition_PostAction(); $t1->setPostActions(array($a1, $a2)); $a1->expectOnce('before', array($fields_data, $current_user)); $a2->expectOnce('before', array($fields_data, $current_user)); $t1->before($fields_data, $current_user); }
public function testDuplicate() { $field_value_new = new MockTracker_FormElement_Field_List_Value(); $field_value_new->setReturnValue('getId', 2066); $field_value_analyzed = new MockTracker_FormElement_Field_List_Value(); $field_value_analyzed->setReturnValue('getId', 2067); $field_value_accepted = new MockTracker_FormElement_Field_List_Value(); $field_value_accepted->setReturnValue('getId', 2068); $t1 = new Transition(1, 1, $field_value_new, $field_value_analyzed); $t2 = new Transition(2, 1, $field_value_analyzed, $field_value_accepted); $t3 = new Transition(3, 1, $field_value_analyzed, $field_value_new); $transitions = array($t1, $t2, $t3); $tf = TestHelper::getPartialMock('TransitionFactory', array('addTransition', 'getPostActionFactory', 'duplicatePermissions')); $values = array(2066 => 3066, 2067 => 3067, 2068 => 3068); $tf->expectCallCount('addTransition', 3, 'Method addTransition should be called 3 times.'); $tf->expectAt(0, 'addTransition', array(1, 3066, 3067)); $tf->expectAt(1, 'addTransition', array(1, 3067, 3068)); $tf->expectAt(2, 'addTransition', array(1, 3067, 3066)); $tf->setReturnValueAt(0, 'addTransition', 101); $tf->setReturnValueAt(1, 'addTransition', 102); $tf->setReturnValueAt(2, 'addTransition', 103); $tf->expectCallCount('duplicatePermissions', 3, 'Method duplicatePermissions should be called 3 times.'); $tf->expectAt(0, 'duplicatePermissions', array(1, 101, false, false)); $tf->expectAt(1, 'duplicatePermissions', array(2, 102, false, false)); $tf->expectAt(2, 'duplicatePermissions', array(3, 103, false, false)); $tpaf = new MockTransition_PostActionFactory(); $tpaf->expectCallCount('duplicate', 3, 'Method duplicate should be called 3 times.'); $tpaf->expectAt(0, 'duplicate', array(1, 101, array(), array())); $tpaf->expectAt(1, 'duplicate', array(2, 102, array(), array())); $tpaf->expectAt(2, 'duplicate', array(3, 103, array(), array())); $tf->setReturnValue('getPostActionFactory', $tpaf); $tf->duplicate($values, 1, $transitions, array(), false, false); }
function testAfterShouldTriggerActions() { $field_value_new = new MockTracker_FormElement_Field_List_Value(); $field_value_new->setReturnValue('getId', 2066); $field_value_analyzed = new MockTracker_FormElement_Field_List_Value(); $field_value_analyzed->setReturnValue('getId', 2067); $transition = new Transition(1, 2, $field_value_new, $field_value_analyzed); $transition->setConditions(new Workflow_Transition_ConditionsCollection()); $post_action_1 = new MockTransition_PostAction(); $post_action_2 = new MockTransition_PostAction(); $transition->setPostActions(array($post_action_1, $post_action_2)); $post_action_1->expectOnce('after'); $post_action_2->expectOnce('after'); $changeset = mock('Tracker_Artifact_Changeset'); $transition->after($changeset); }
function testBeforeShouldTriggerTransitionActionsForNewArtifact() { $current_user = new MockUser(); $f = new MockTracker_FormElement_Field_List(); $f->setReturnValue('getId', 103); $v1 = new MockTracker_FormElement_Field_List_Value(); $v2 = new MockTracker_FormElement_Field_List_Value(); $v1->setReturnValue('getId', 801); $v2->setReturnValue('getId', 802); $t1 = new MockTransition(); $t2 = new MockTransition(); $t1->setReturnValue('getFieldValueFrom', null); $t1->setReturnReference('getFieldValueTo', $v1); $t2->setReturnReference('getFieldValueFrom', $v1); $t2->setReturnReference('getFieldValueTo', $v2); $c = new MockTracker_Artifact_Changeset_Null(); $a = new MockTracker_Artifact(); $a->setReturnValue('getLastChangeset', $c); $workflow_id = 1; $tracker_id = 2; $field_id = 103; $is_used = 1; $transitions = array($t1, $t2); $workflow = new Workflow($workflow_id, $tracker_id, $field_id, $is_used, $transitions); $workflow->setField($f); $workflow->setArtifact($a); $fields_data = array('103' => '801'); $t1->expectOnce('before'); $t2->expectNever('before', array($fields_data, $current_user)); $workflow->before($fields_data, $current_user); }