コード例 #1
0
 protected function setUp()
 {
     $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
     $this->objectFactoryMock = $this->getMockBuilder('Magento\\Framework\\Api\\ObjectFactory')->disableOriginalConstructor()->getMock();
     $this->objectProcessorMock = $this->getMockBuilder('Magento\\Framework\\Reflection\\DataObjectProcessor')->disableOriginalConstructor()->getMock();
     $this->methodsMapProcessor = $this->getMockBuilder('Magento\\Framework\\Reflection\\MethodsMap')->disableOriginalConstructor()->getMock();
     $this->attributeValueFactoryMock = $this->getMockBuilder('Magento\\Framework\\Api\\AttributeValueFactory')->disableOriginalConstructor()->getMock();
     $this->joinProcessorMock = $this->getMockBuilder('\\Magento\\Framework\\Api\\ExtensionAttribute\\JoinProcessor')->setMethods(['extractExtensionAttributes'])->disableOriginalConstructor()->getMock();
     $this->joinProcessorMock->expects($this->any())->method('extractExtensionAttributes')->willReturnArgument(1);
     $this->typeProcessor = $this->objectManager->getObject('Magento\\Framework\\Reflection\\TypeProcessor');
     $this->dataObjectHelper = $this->objectManager->getObject('Magento\\Framework\\Api\\DataObjectHelper', ['objectFactory' => $this->objectFactoryMock, 'typeProcessor' => $this->typeProcessor, 'objectProcessor' => $this->objectProcessorMock, 'methodsMapProcessor' => $this->methodsMapProcessor, 'joinProcessor' => $this->joinProcessorMock]);
 }
コード例 #2
0
 /**
  * Test the processing of the join config for a particular type
  */
 public function testProcess()
 {
     $this->config->expects($this->once())->method('get')->will($this->returnValue($this->getConfig()));
     $collection = $this->getMockBuilder('Magento\\Framework\\Data\\Collection\\AbstractDb')->disableOriginalConstructor()->setMethods(['joinExtensionAttribute'])->getMockForAbstractClass();
     $extensionAttributeJoinData = new JoinData();
     $this->extensionAttributeJoinDataFactory->expects($this->once())->method('create')->willReturn($extensionAttributeJoinData);
     $collection->expects($this->once())->method('joinExtensionAttribute')->with($extensionAttributeJoinData);
     $this->joinProcessor->process($collection, 'Magento\\Catalog\\Api\\Data\\ProductInterface');
     $expectedTableName = 'reviews';
     $this->assertEquals($expectedTableName, $extensionAttributeJoinData->getReferenceTable());
     $this->assertEquals('extension_attribute_review_id', $extensionAttributeJoinData->getReferenceTableAlias());
     $this->assertEquals('product_id', $extensionAttributeJoinData->getReferenceField());
     $this->assertEquals('id', $extensionAttributeJoinData->getJoinField());
     $this->assertEquals([['external_alias' => 'review_id', 'internal_alias' => 'extension_attribute_review_id_db_review_id', 'with_db_prefix' => 'extension_attribute_review_id.db_review_id', 'setter' => 'setReviewId']], $extensionAttributeJoinData->getSelectFields());
 }