public function testTransform() { $srcHandler = $this->initHandler($this->sourceDocument, 0); $destHandler = $this->initHandler($this->destDocument, 1); $this->recordTransformer->init(); $this->sourceDocument->expects($this->any())->method('getName')->willReturn('source_document_name'); $recordFrom = $this->getMock('Migration\\Resource\\Record', [], [], '', false); $recordFrom->expects($this->any())->method('getFields')->will($this->returnValue(['field1', 'field2'])); $recordFrom->expects($this->any())->method('getData')->will($this->returnValue(['field1' => 1, 'field2' => 2])); $recordTo = $this->getMock('Migration\\Resource\\Record', [], [], '', false); $recordTo->expects($this->any())->method('getFields')->will($this->returnValue(['field2'])); $recordTo->expects($this->once())->method('setData')->with(['field2' => 2]); $field2Handler = $this->getMock('Migration\\Handler\\SetValue', ['handle'], [], '', false); $field2Handler->expects($this->once())->method('handle'); $srcHandler->expects($this->any())->method('getHandlers')->willReturn(['field2' => $field2Handler]); $destHandler->expects($this->any())->method('getHandlers')->willReturn([]); $this->mapReader->expects($this->any())->method('getFieldMap')->with('source_document_name', 'field1')->willReturnArgument(1); $this->recordTransformer->transform($recordFrom, $recordTo); }
/** * @param Resource\Document|\PHPUnit_Framework_MockObject_MockObject $document * @param int $callNumber * @return \Migration\Handler\Manager|\PHPUnit_Framework_MockObject_MockObject */ protected function initHandler($document, $callNumber = 1) { $handlerManager = $this->getMock('Migration\\Handler\\Manager', ['initHandler', 'getHandlers'], [], '', false); $this->handlerManagerFactory->expects($this->at($callNumber))->method('create')->will($this->returnValue($handlerManager)); $structure = $this->getMock('Migration\\Resource\\Structure', ['getFields'], [], '', false); $document->expects($this->once())->method('getStructure')->will($this->returnValue($structure)); $fields = ['field1' => '', 'field2' => '', 'field3' => '']; $structure->expects($this->once())->method('getFields')->will($this->returnValue($fields)); $handlerManager->expects($this->any())->method('initHandler'); return $handlerManager; }
public function testIntegrityFieldFail() { $this->ratings = new Ratings($this->destination, $this->logger, $this->progress, 'integrity'); $this->progress->expects($this->once())->method('start')->with(1); $this->progress->expects($this->once())->method('advance'); $this->progress->expects($this->never())->method('finish'); $this->destination->expects($this->once())->method('getDocumentList')->willReturn(['rating', 'rating_store']); $this->structure->expects($this->once())->method('getFields')->willReturn(['field' => []]); $this->document->expects($this->once())->method('getStructure')->willReturn($this->structure); $this->destination->expects($this->once())->method('getDocument')->with('rating')->willReturn($this->document); $this->logger->expects($this->once())->method('error')->with('Integrity check failed due to "is_active" field does not exist in "rating" document of ' . 'the destination resource'); $this->assertFalse($this->ratings->perform()); }
/** * @param bool|false $dataTypeMismatch */ protected function setupFieldsValidation($dataTypeMismatch = false) { $dataTypeSource = $dataTypeMismatch ? 'varchar' : 'int'; $fieldsSource = ['field1' => ['DATA_TYPE' => $dataTypeSource]]; $structureSource = $this->getMockBuilder('\\Migration\\Resource\\Structure')->disableOriginalConstructor()->setMethods([])->getMock(); $structureSource->expects($this->any())->method('getFields')->will($this->returnValue($fieldsSource)); $this->documentSource = $this->getMockBuilder('\\Migration\\Resource\\Document')->disableOriginalConstructor()->getMock(); $this->documentSource->expects($this->any())->method('getStructure')->will($this->returnValue($structureSource)); $dataTypeDestination = 'int'; $fieldsDestination = ['field1' => ['DATA_TYPE' => $dataTypeDestination]]; $structureDestination = $this->getMockBuilder('\\Migration\\Resource\\Structure')->disableOriginalConstructor()->setMethods([])->getMock(); $structureDestination->expects($this->any())->method('getFields')->will($this->returnValue($fieldsDestination)); $this->documentDestination = $this->getMockBuilder('\\Migration\\Resource\\Document')->disableOriginalConstructor()->getMock(); $this->documentDestination->expects($this->any())->method('getStructure')->will($this->returnValue($structureDestination)); $this->source->expects($this->any())->method('getDocument')->will($this->returnValue($this->documentSource)); $this->destination->expects($this->any())->method('getDocument')->will($this->returnValue($this->documentDestination)); }