public function testGetChildren() { $productId = 'sadasd'; $product = $this->getMockBuilder('Magento\\Catalog\\Model\\Product')->disableOriginalConstructor()->getMock(); $productTypeInstance = $this->getMockBuilder('Magento\\ConfigurableProduct\\Model\\Product\\Type\\Configurable')->disableOriginalConstructor()->getMock(); $product->expects($this->any())->method('getTypeId')->will($this->returnValue(\Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE)); $product->expects($this->any())->method('getTypeInstance')->will($this->returnValue($productTypeInstance)); $productTypeInstance->expects($this->once())->method('setStoreFilter')->with(null, $product); $childProduct = $this->getMockBuilder('Magento\\Catalog\\Model\\Product')->disableOriginalConstructor()->getMock(); $productTypeInstance->expects($this->any())->method('getUsedProducts')->with($product)->will($this->returnValue([$childProduct])); $this->productRepository->expects($this->any())->method('get')->with($productId)->will($this->returnValue($product)); $productDto = $this->getMockBuilder('Magento\\Catalog\\Service\\V1\\Data\\Product')->disableOriginalConstructor()->getMock(); $this->productConverter->expects($this->any())->method('createProductDataFromModel')->with($childProduct)->will($this->returnValue($productDto)); $products = $this->object->getChildren($productId); $this->assertCount(1, $products); $this->assertEquals($productDto, $products[0]); }