forked from ripenecommerce/magento2-patches
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPatch-MAGETWO-90109-Customer_Grid_Indexer_Not_Working.patch
80 lines (80 loc) · 2.38 KB
/
Patch-MAGETWO-90109-Customer_Grid_Indexer_Not_Working.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
diff --git a/Indexer/Handler/AttributeHandler.php b/Indexer/Handler/AttributeHandler.php
index 94f34ec..4b74ce5 100644
--- a/Indexer/Handler/AttributeHandler.php
+++ b/Indexer/Handler/AttributeHandler.php
@@ -35,7 +35,7 @@ class AttributeHandler implements HandlerInterface
'left'
);
} else {
- $source->addAttributeToSelect($fieldInfo['origin'], 'left');
+ $source->addFieldToSelect($fieldInfo['origin'], 'left');
}
}
}
diff --git a/Indexer/Test/Unit/Handler/AttributeHandlerTest.php b/Indexer/Test/Unit/Handler/AttributeHandlerTest.php
new file mode 100644
index 0000000..1b65d98
--- /dev/null
+++ b/Indexer/Test/Unit/Handler/AttributeHandlerTest.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+declare(strict_types=1);
+
+namespace Magento\Framework\Indexer\Test\Unit\Handler;
+
+use Magento\Framework\Indexer\Handler\AttributeHandler;
+use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
+use Magento\Framework\App\ResourceConnection\SourceProviderInterface;
+
+/**
+ * Unit test for Magento\Framework\Indexer\Handler\AttributeHandler.
+ */
+class AttributeHandlerTest extends \PHPUnit\Framework\TestCase
+{
+ /**
+ * @var SourceProviderInterface|\PHPUnit_Framework_MockObject_MockObject
+ */
+ private $source;
+
+ /**
+ * @var AttributeHandler
+ */
+ private $subject;
+
+ /**
+ * @inheritdoc
+ */
+ protected function setUp()
+ {
+ $this->source = $this->getMockBuilder(SourceProviderInterface::class)
+ ->disableOriginalConstructor()
+ ->getMockForAbstractClass();
+
+ $objectManager = new ObjectManager($this);
+
+ $this->subject = $objectManager->getObject(AttributeHandler::class);
+ }
+
+ public function testPrepareSql()
+ {
+ $alias = 'e';
+ $fieldInfo = [
+ 'name' => 'is_approved',
+ 'origin' => 'is_approved',
+ 'type' => 'searchable',
+ 'dataType' => 'varchar',
+ 'entity' => 'customer',
+ 'bind' => null,
+ ];
+ $this->source->expects($this->once())
+ ->method('addFieldToSelect')
+ ->with('is_approved', 'left')
+ ->willReturnSelf();
+
+ $this->subject->prepareSql($this->source, $alias, $fieldInfo);
+ }
+}