/** * @expectedException \Magento\Framework\Exception\InputException * @expectedExceptionMessage Only implemented for configurable product: configurable */ public function testGetListNotConfigurableProduct() { $productSku = "configurable"; $this->productRepositoryMock->expects($this->once())->method('get')->with($productSku)->willReturn($this->productMock); $this->productMock->expects($this->once())->method('getTypeId')->willReturn('simple'); $this->model->getList($productSku); }
/** * Mock for options save * * @param MockObject $attribute * @param MockObject $product * @param $attributeId * @param $sku * @param $id * @return void */ private function processSaveOptions(MockObject $attribute, MockObject $product, $attributeId, $sku, $id) { $attribute->expects(static::once())->method('getAttributeId')->willReturn($attributeId); $eavAttribute = $this->getMock(ProductAttributeInterface::class); $this->productAttributeRepository->expects(static::once())->method('get')->with($attributeId)->willReturn($eavAttribute); $attribute->expects(static::once())->method('loadByProductAndAttribute')->with($product, $eavAttribute)->willReturnSelf(); $this->optionRepository->expects(static::once())->method('save')->with($sku, $attribute)->willReturn($id); }
/** * @param int $attributeId * @param string $label * @param array $optionValues * @param string $msg * @dataProvider validateOptionDataProvider * @throws \Magento\Framework\Exception\InputException */ public function testValidateNewOptionData($attributeId, $label, $optionValues, $msg) { $this->setExpectedException('Magento\\Framework\\Exception\\InputException', $msg); $optionValueMock = $this->getMock('\\Magento\\ConfigurableProduct\\Api\\Data\\OptionValueInterface'); $optionValuesMock = []; if (!empty($optionValues)) { $optionValueMock->expects($this->any())->method('getValueIndex')->willReturn($optionValues['v']); $optionValueMock->expects($this->any())->method('getPricingValue')->willReturn($optionValues['p']); $optionValueMock->expects($this->any())->method('getIsPercent')->willReturn($optionValues['r']); $optionValuesMock = [$optionValueMock]; } $optionMock = $this->getMock('\\Magento\\ConfigurableProduct\\Api\\Data\\OptionInterface'); $optionMock->expects($this->any())->method('getAttributeId')->willReturn($attributeId); $optionMock->expects($this->any())->method('getLabel')->willReturn($label); $optionMock->expects($this->any())->method('getValues')->willReturn($optionValuesMock); $this->model->validateNewOptionData($optionMock); }
/** * Mock for options save * * @param MockObject $attribute * @param $sku * @param $id * @return void */ private function processSaveOptions(MockObject $attribute, $sku, $id) { $attribute->expects(static::once())->method('setId')->with(null)->willReturnSelf(); $this->optionRepository->expects(static::once())->method('save')->with($sku, $attribute)->willReturn($id); }