/** * @expectedException \Magento\Framework\Exception\NoSuchEntityException * @expectedExceptionMessage Requested option doesn't exist: 3 */ public function testGetOptionIdNotFound() { $productSku = "configurable"; $optionId = 3; $this->productRepositoryMock->expects($this->once())->method('get')->with($productSku)->willReturn($this->productMock); $this->productMock->expects($this->once())->method('getTypeId')->willReturn(\Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE); $optionMock = $this->getMock('\\Magento\\ConfigurableProduct\\Api\\Data\\OptionInterface'); $optionMock->expects($this->once())->method('getId')->willReturn(6); $productExtensionMock = $this->getMockBuilder('\\Magento\\Catalog\\Api\\Data\\ProductExtension')->setMethods(['getConfigurableProductOptions'])->getMock(); $productExtensionMock->expects($this->once())->method('getConfigurableProductOptions')->willReturn([$optionMock]); $this->productMock->expects($this->once())->method('getExtensionAttributes')->willReturn($productExtensionMock); $this->model->get($productSku, $optionId); }
/** * @expectedException \Magento\Framework\Exception\NoSuchEntityException * @expectedExceptionMessage Requested option doesn't exist: 3 */ public function testGetEmptyExtensionAttribute() { $optionId = 3; $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); $optionMock->expects(self::never())->method('getId'); $this->optionLoader->expects(self::once())->method('load')->with($this->productMock)->willReturn([]); $this->model->get($productSku, $optionId); }