public function testIsFieldUsedInWorkflow() { $tracker = new MockTracker(); $tracker->setReturnValue('getId', 123); $field_status = new MockTracker_FormElement_Field_List(); $field_status->setReturnReference('getTracker', $tracker); $field_status->setReturnValue('getId', 1001); $field_start_date = new MockTracker_FormElement_Field_List(); $field_start_date->setReturnReference('getTracker', $tracker); $field_start_date->setReturnValue('getId', 1002); $field_close_date = new MockTracker_FormElement_Field_List(); $field_close_date->setReturnReference('getTracker', $tracker); $field_close_date->setReturnValue('getId', 1003); $workflow = new MockWorkflow(); $workflow->setReturnValue('getFieldId', $field_status->getId()); $tf = new MockTransitionFactory(); $tf->setReturnValue('isFieldUsedInTransitions', false, array($field_start_date)); $tf->setReturnValue('isFieldUsedInTransitions', true, array($field_close_date)); $tf->expectCallCount('isFieldUsedInTransitions', 2); $wf = TestHelper::getPartialMock('WorkflowFactory', array('getWorkflowByTrackerId', 'getTransitionFactory')); $wf->setReturnReference('getTransitionFactory', $tf); $wf->setReturnReference('getWorkflowByTrackerId', $workflow, array($tracker->getId())); $this->assertTrue($wf->isFieldUsedInWorkflow($field_status)); $this->assertFalse($wf->isFieldUsedInWorkflow($field_start_date)); $this->assertTrue($wf->isFieldUsedInWorkflow($field_close_date)); }