Example #1
0
 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);
 }
Example #2
0
 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);
 }
Example #3
0
 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);
 }
Example #4
0
 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);
 }