From cdd71a6252b444a91124e380aed40fffe0cdfb14 Mon Sep 17 00:00:00 2001 From: Mayank Zalavadia Date: Wed, 10 Jan 2018 12:49:04 +0530 Subject: [PATCH 1/3] Solution for 12825 issue. --- .../Model/ResourceModel/Attribute/OptionSelectBuilder.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Attribute/OptionSelectBuilder.php b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Attribute/OptionSelectBuilder.php index 958d802682d52..1a3c860cba13f 100644 --- a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Attribute/OptionSelectBuilder.php +++ b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Attribute/OptionSelectBuilder.php @@ -97,6 +97,12 @@ public function getSelect(AbstractAttribute $superAttribute, int $productId, Sco )->where( 'attribute.attribute_id = ?', $superAttribute->getAttributeId() + )->joinInner( + ['attribute_opt' => $this->attributeResource->getTable('eav_attribute_option')], + 'attribute_opt.option_id = entity_value.value', + [] + )->order( + 'attribute_opt.sort_order ASC' ); if (!$superAttribute->getSourceModel()) { From f3fb0172d48fe6d1248fecdf33f2b7379c574cdc Mon Sep 17 00:00:00 2001 From: David Manners Date: Thu, 11 Jan 2018 08:35:07 +0000 Subject: [PATCH 2/3] magento/magento2#12825: update the mocking of select object to expect call to joinInner 6 times --- .../Model/ResourceModel/Attribute/OptionSelectBuilderTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Attribute/OptionSelectBuilderTest.php b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Attribute/OptionSelectBuilderTest.php index 235c16c9b556c..c96b324e54be0 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Attribute/OptionSelectBuilderTest.php +++ b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Attribute/OptionSelectBuilderTest.php @@ -138,7 +138,7 @@ public function testGetSelectWithBackendModel() { $this->select->expects($this->exactly(1))->method('from')->willReturnSelf(); $this->select->expects($this->exactly(0))->method('columns')->willReturnSelf(); - $this->select->expects($this->exactly(5))->method('joinInner')->willReturnSelf(); + $this->select->expects($this->exactly(6))->method('joinInner')->willReturnSelf(); $this->select->expects($this->exactly(1))->method('joinLeft')->willReturnSelf(); $this->select->expects($this->exactly(2))->method('where')->willReturnSelf(); From 3b695a8abc2c26698b98a74a4bd821682427ad99 Mon Sep 17 00:00:00 2001 From: Mayank Zalavadia Date: Thu, 11 Jan 2018 14:54:12 +0530 Subject: [PATCH 3/3] update the mocking of select object to expect. --- .../ResourceModel/Attribute/OptionSelectBuilderTest.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Attribute/OptionSelectBuilderTest.php b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Attribute/OptionSelectBuilderTest.php index c96b324e54be0..af777f900ebbc 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Attribute/OptionSelectBuilderTest.php +++ b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Attribute/OptionSelectBuilderTest.php @@ -5,13 +5,13 @@ */ namespace Magento\ConfigurableProduct\Test\Unit\Model\ResourceModel\Attribute; +use Magento\ConfigurableProduct\Model\ResourceModel\Attribute\OptionProvider; use Magento\ConfigurableProduct\Model\ResourceModel\Attribute\OptionSelectBuilder; use Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable\Attribute; -use Magento\ConfigurableProduct\Model\ResourceModel\Attribute\OptionProvider; use Magento\Eav\Model\Entity\Attribute\AbstractAttribute; use Magento\Framework\App\ScopeInterface; -use Magento\Framework\DB\Select; use Magento\Framework\DB\Adapter\AdapterInterface; +use Magento\Framework\DB\Select; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper; /** @@ -58,7 +58,7 @@ class OptionSelectBuilderTest extends \PHPUnit\Framework\TestCase * @var ScopeInterface|\PHPUnit_Framework_MockObject_MockObject */ private $scope; - + protected function setUp() { $this->connectionMock = $this->getMockBuilder(AdapterInterface::class) @@ -112,7 +112,7 @@ public function testGetSelect() { $this->select->expects($this->exactly(1))->method('from')->willReturnSelf(); $this->select->expects($this->exactly(1))->method('columns')->willReturnSelf(); - $this->select->expects($this->exactly(5))->method('joinInner')->willReturnSelf(); + $this->select->expects($this->exactly(6))->method('joinInner')->willReturnSelf(); $this->select->expects($this->exactly(3))->method('joinLeft')->willReturnSelf(); $this->select->expects($this->exactly(2))->method('where')->willReturnSelf();