예제 #1
0
 function testCloneRealMetadata()
 {
     // Parameters
     $dstGroupId = '321';
     $metadataMapping = array();
     // Factory to test
     $srcMdF = new MetadataFactoryMockedForCloneRealMd($this);
     $srcMd1 = new Docman_ListMetadata();
     $srcMd1->setId(301);
     $srcMd1->setType(PLUGIN_DOCMAN_METADATA_TYPE_LIST);
     $srcMd2 = new Docman_Metadata();
     $srcMd2->setId(302);
     $srcMd2->setType(PLUGIN_DOCMAN_METADATA_TYPE_STRING);
     $srcMdF->setReturnValue('getRealMetadataList', array($srcMd1, $srcMd2));
     $srcMdF->expectOnce('getRealMetadataList', array(false));
     $srcMdF->expectCallCount('_cloneOneMetadata', 2);
     $srcMdF->expectAt(0, '_cloneOneMetadata', array($dstGroupId, $srcMd1, $metadataMapping));
     $srcMdF->expectAt(1, '_cloneOneMetadata', array($dstGroupId, $srcMd2, $metadataMapping));
     // Run the test
     $srcMdF->_cloneRealMetadata($dstGroupId, $metadataMapping);
 }
 /**
  * 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);
 }