function testSaveValue() { $artifact = null; $changeset_id = 666; $submitted_value = array(); $submitted_value[] = 'b101'; //exisiting bind value $submitted_value[] = 'b102 '; //existing bind value $submitted_value[] = ' o301'; //existing open value $submitted_value[] = 'o302'; //existing open value $submitted_value[] = 'b103'; //existing bind value $submitted_value[] = ''; //bidon $submitted_value[] = 'bidon'; //bidon $submitted_value[] = '!new_1'; //new open value $submitted_value[] = '!new_2'; //new open value $submitted_value = implode(',', $submitted_value); $open_value_dao = new MockTracker_FormElement_Field_List_OpenValueDao(); $open_value_dao->setReturnValue('create', 901, array(1, 'new_1')); $open_value_dao->setReturnValue('create', 902, array(1, 'new_2')); $value_dao = new $this->dao_class(); $value_dao->expect('create', array($changeset_id, array(array('bindvalue_id' => 101, 'openvalue_id' => null), array('bindvalue_id' => 102, 'openvalue_id' => null), array('bindvalue_id' => null, 'openvalue_id' => 301), array('bindvalue_id' => null, 'openvalue_id' => 302), array('bindvalue_id' => 103, 'openvalue_id' => null), array('bindvalue_id' => null, 'openvalue_id' => 901), array('bindvalue_id' => null, 'openvalue_id' => 902)))); $list_field = new Tracker_FormElement_Field_OpenListTestVersion_for_saveValue(); $list_field->setReturnValue('getId', 1); $list_field->setReturnReference('getValueDao', $value_dao); $list_field->setReturnReference('getOpenValueDao', $open_value_dao); $list_field->saveValue($artifact, $changeset_id, $submitted_value); }
function testGetFieldData() { $bind = new MockTracker_FormElement_Field_List_Bind(); $bind->setReturnValue('getFieldData', '115', array('existing value', '*')); $bind->setReturnValue('getFieldData', '118', array('yet another existing value', '*')); $bind->setReturnValue('getFieldData', null, array('new value', '*')); $bind->setReturnValue('getFieldData', null, array('yet another new value', '*')); $bind->setReturnValue('getFieldData', null, array('existing open value', '*')); $bind->setReturnValue('getFieldData', null, array('yet another existing open value', '*')); $bind->setReturnValue('getFieldData', null, array('', '*')); $odar = new MockDataAccessResult(); $odar->setReturnValue('getRow', false); $open_value_dao = new MockTracker_FormElement_Field_List_OpenValueDao(); $odar_30 = new MockDataAccessResult(); $odar_30->setReturnValue('getRow', array('id' => '30', 'field_id' => '1', 'label' => 'existing open value')); $odar_40 = new MockDataAccessResult(); $odar_40->setReturnValue('getRow', array('id' => '40', 'field_id' => '1', 'label' => 'yet another existing open value')); $open_value_dao->setReturnReference('searchByExactLabel', $odar_30, array(1, 'existing open value')); $open_value_dao->setReturnReference('searchByExactLabel', $odar_40, array(1, 'yet another existing open value')); $open_value_dao->setReturnReference('searchByExactLabel', $odar, array(1, 'new value')); $open_value_dao->setReturnReference('searchByExactLabel', $odar, array(1, 'yet another new value')); $open_value_dao->setReturnReference('searchByExactLabel', $odar, array(1, '')); $f = new Tracker_FormElement_Field_OpenListTestVersion(); $f->setReturnReference('getOpenValueDao', $open_value_dao); $f->setReturnReference('getBind', $bind); $f->setReturnValue('getId', 1); $this->assertEqual("!new value,!yet another new value", $f->getFieldData('new value,yet another new value', true)); $this->assertEqual("!new value,b115", $f->getFieldData('new value,existing value', true)); $this->assertEqual("!new value,o30,b115", $f->getFieldData('new value,existing open value,existing value', true)); $this->assertNull($f->getFieldData('', true)); }