public function testHandleWithOriginalProductAttributes() { $originalAttributes = [['id' => 1, 'values' => [['value_index' => 0, 'is_percent' => 10, 'pricing_value' => 50]]]]; $this->productMock->expects($this->once())->method('getTypeId')->will($this->returnValue(\Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE)); $this->productTypeMock->expects($this->once())->method('getConfigurableAttributesAsArray')->with($this->productMock)->will($this->returnValue($originalAttributes)); $attributeData = [['attribute_id' => 1, 'values' => [['value_index' => 0, 'pricing_value' => 10, 'is_percent' => 1], ['value_index' => 1, 'pricing_value' => 100, 'is_percent' => 200]]]]; $this->productMock->expects($this->once())->method('getConfigurableAttributesData')->will($this->returnValue($attributeData)); $expected = [['attribute_id' => 1, 'values' => [['value_index' => 0, 'pricing_value' => 50, 'is_percent' => 10], ['value_index' => 1, 'pricing_value' => 0, 'is_percent' => 0]]]]; $this->productMock->expects($this->once())->method('setConfigurableAttributesData')->with($expected); $this->model->handle($this->productMock); }