public function testGetList() { $productSku = "configurable"; $this->productMock->expects(self::once())->method('getTypeId')->willReturn(Configurable::TYPE_CODE); $this->productRepositoryMock->expects(self::once())->method('get')->with($productSku)->willReturn($this->productMock); $optionMock = $this->getMock(OptionInterface::class); $this->optionLoader->expects(self::once())->method('load')->with($this->productMock)->willReturn([$optionMock]); $this->assertEquals([$optionMock], $this->model->getList($productSku)); }
/** * @covers \Magento\ConfigurableProduct\Model\Product\ReadHandler::execute */ public function testExecute() { $options = [['value_index' => 12], ['value_index' => 13]]; $entityId = 1; $ids = [1, 2, 3]; $product = $this->getMockBuilder(Product::class)->disableOriginalConstructor()->setMethods(['getTypeId', 'getId', 'getExtensionAttributes', 'setExtensionAttributes', 'getTypeInstance'])->getMock(); $product->expects(static::once())->method('getTypeId')->willReturn(Configurable::TYPE_CODE); $extensionAttributes = $this->getMockBuilder(ProductExtensionAttributes::class)->disableOriginalConstructor()->setMethods(['setConfigurableProductOptions', 'setConfigurableProductLinks'])->getMockForAbstractClass(); $product->expects(static::once())->method('getExtensionAttributes')->willReturn($extensionAttributes); $this->optionLoader->expects(static::once())->method('load')->with($product)->willReturn($options); $typeInstance = $this->getMockBuilder(Configurable::class)->disableOriginalConstructor()->setMethods(['getChildrenIds'])->getMock(); $product->expects(static::once())->method('getTypeInstance')->willReturn($typeInstance); $product->expects(static::once())->method('getId')->willReturn($entityId); $typeInstance->expects(static::once())->method('getChildrenIds')->willReturn($ids); $product->expects(static::once())->method('setExtensionAttributes')->with($extensionAttributes); $entity = $this->readHandler->execute('Entity', $product); static::assertSame($product, $entity); }