コード例 #1
0
 /**
  * 2 values + None in the source, one already exists in destination.
  * 1 value must be create and 1 updated
  */
 function testExportValuesWithNonEmptyDest()
 {
     // Factory to test
     $srcLoveF = new MetadataListOfValuesElementFactoryMocked($this);
     // Parameters
     $valuesMapping = array(101 => 201);
     $srcMd = new Docman_ListMetadata();
     $srcMd->setId(123);
     $srcMd->setLabel('field_123');
     $dstMd = new Docman_ListMetadata();
     $dstMd->setId(321);
     // Src elements
     $loveArray[0] = new MockDocman_MetadataListOfValuesElement($this);
     $loveArray[0]->setReturnValue('getId', 100);
     $loveArray[1] = new MockDocman_MetadataListOfValuesElement($this);
     $loveArray[1]->setReturnValue('getId', 101);
     $loveArray[2] = new MockDocman_MetadataListOfValuesElement($this);
     $loveArray[2]->setReturnValue('getId', 102);
     $srcLoveF->setReturnValue('getListByFieldId', $loveArray);
     $srcLoveF->expectOnce('getListByFieldId');
     $dstLoveF = new MockDocman_MetadataListOfValuesElementFactory($this);
     $dstLoveF->expectCallCount('create', 1);
     $dstLoveF->expectCallCount('update', 1);
     $srcLoveF->setReturnReference('getMetadataListOfValuesElementFactory', $dstLoveF);
     $srcLoveF->exportValues($srcMd, $dstMd, $valuesMapping);
 }
コード例 #2
0
ファイル: MetadataTest.php プロジェクト: pombredanne/tuleap
 /**
  * Ensure that data from one call doesn't override data of the second call
  */
 function testTwoCallsOfCloneOneMetadataList()
 {
     // Common params
     $dstGroupId = '321';
     $metadataMapping = array();
     $metadataMapping['love'] = array();
     $findIter = new MockArrayIterator($this);
     $findIter->setReturnValue('count', 0);
     // Factory to test
     $srcMdF = new MetadataFactoryMockedForCloneOneMd($this);
     $eventManager = new MockEventManager($this);
     $srcMdF->setReturnReference('_getEventManager', $eventManager);
     // First Call setup
     $srcMd1 = new Docman_ListMetadata();
     $srcMd1->setId(301);
     $srcMd1->setType(PLUGIN_DOCMAN_METADATA_TYPE_LIST);
     $dstMdF1 = new MockDocman_MetadataFactory($this);
     $dstMdF1->setReturnValue('create', 401);
     $dstMdF1->expectOnce('create');
     $dstMdF1->setReturnValue('findByName', $findIter);
     $srcMdF->setReturnReferenceAt(0, '_getMetadataFactory', $dstMdF1);
     $dstLoveF1 = new MockDocman_MetadataListOfValuesElementFactory($this);
     $dstLoveF1->setReturnValue('cloneValues', array(101 => 201, 102 => 202));
     $srcMdF->setReturnReferenceAt(0, '_getListOfValuesElementFactory', $dstLoveF1);
     // Second call setup
     $srcMd2 = new Docman_ListMetadata();
     $srcMd2->setId(302);
     $srcMd2->setType(PLUGIN_DOCMAN_METADATA_TYPE_LIST);
     $dstMdF2 = new MockDocman_MetadataFactory($this);
     $dstMdF2->setReturnValue('create', 402);
     $dstMdF2->expectOnce('create');
     $dstMdF2->setReturnValue('findByName', $findIter);
     $srcMdF->setReturnReferenceAt(1, '_getMetadataFactory', $dstMdF2);
     $dstLoveF2 = new MockDocman_MetadataListOfValuesElementFactory($this);
     $dstLoveF2->setReturnValue('cloneValues', array(103 => 203, 104 => 204));
     $srcMdF->setReturnReferenceAt(1, '_getListOfValuesElementFactory', $dstLoveF2);
     // Run test
     $srcMdF->_cloneOneMetadata($dstGroupId, $srcMd1, $metadataMapping);
     $srcMdF->_cloneOneMetadata($dstGroupId, $srcMd2, $metadataMapping);
     $this->assertEqual($metadataMapping['md'][301], 401);
     $this->assertEqual($metadataMapping['md'][302], 402);
     $this->assertEqual($metadataMapping['love'][101], 201);
     $this->assertEqual($metadataMapping['love'][102], 202);
     $this->assertEqual($metadataMapping['love'][103], 203);
     $this->assertEqual($metadataMapping['love'][104], 204);
 }
コード例 #3
0
 function testItemWithoutValueButWatermarkedValueDefined()
 {
     // No love for item
     $loveFactory = new MockDocman_MetadataListOfValuesElementFactory($this);
     // empty array because no value found
     $ai = new MockArrayIterator($this);
     $ai->setReturnValue('rewind', true);
     $ai->setReturnValue('valid', false);
     $loveFactory->setReturnValue('getLoveValuesForItem', $ai);
     //
     // But watermarked values is defined
     $dwmv = new MockDocmanWatermark_MetadataValue($this);
     $dwmv->setReturnValue('getWatermark', 1);
     $dwmv->setReturnValue('getValueId', 107);
     $ai = new MockArrayIterator($this);
     $ai->setReturnValue('rewind', true);
     $ai->setReturnValueAt(0, 'valid', true);
     $ai->setReturnValue('current', $dwmv);
     $ai->setReturnValueAt(1, 'valid', false);
     $dwmvf = new MockDocmanWatermark_MetadataValueFactory($this);
     $dwmvf->setReturnValue('getMetadataValuesIterator', $ai);
     // Setup class
     $dwmf = new DocmanWatermark_MetadataFactoryTestMetadataValueRetrieval($this);
     $dwmf->setReturnValue('getDocman_MetadataListOfValuesElementFactory', $loveFactory);
     $dwmf->setReturnValue('getDocmanWatermark_MetadataValueFactory', $dwmvf);
     // Parameters & Run
     $item = new MockDocman_Item($this);
     $item->setReturnValue('getId', 1789);
     $md = new MockDocman_Metadata($this);
     $md->setReturnValue('getId', 1871);
     $this->assertNull($dwmf->_getWatermarkingValues($item, $md));
 }