12
12
use Magento \Sales \Model \ResourceModel \Provider \UpdatedAtListProvider ;
13
13
use Magento \TestFramework \Helper \Bootstrap ;
14
14
use PHPUnit \Framework \TestCase ;
15
+ use Magento \Framework \DB \Adapter \Pdo \Mysql ;
15
16
16
17
/**
17
18
* @magentoDataFixture Magento/Sales/_files/order_with_invoice_shipment_creditmemo.php
@@ -139,8 +140,9 @@ public function gridDataProvider(): array
139
140
* @dataProvider shipmentGridDataProvider
140
141
* @param array $constructorArgs
141
142
* @param string $orderIdField
143
+ * @param string $orderIdIndex
142
144
*/
143
- public function testSalesShipmentGridOrderIdField (array $ constructorArgs , string $ orderIdField )
145
+ public function testSalesShipmentGridOrderIdFieldIndex (array $ constructorArgs , string $ orderIdField, string $ orderIdIndex )
144
146
{
145
147
$ constructorArgs ['orderIdField ' ] = $ constructorArgs ['mainTableName ' ] . '. ' . $ orderIdField ;
146
148
$ constructorArgs ['columns ' ] = [
@@ -150,16 +152,19 @@ public function testSalesShipmentGridOrderIdField(array $constructorArgs, string
150
152
];
151
153
$ constructorArgs ['notSyncedDataProvider ' ] = $ this ->objectManager ->get (UpdatedAtListProvider::class);
152
154
$ grid = $ this ->objectManager ->create (Grid::class, $ constructorArgs );
155
+ /** @var Mysql $connection */
153
156
$ connection = $ grid ->getConnection ();
154
157
$ order = $ this ->objectManager ->create (\Magento \Sales \Model \Order::class)
155
158
->loadByIncrementId ('100000111 ' );
156
159
$ select = $ connection ->select ()
157
160
->from ($ constructorArgs ['gridTableName ' ], ['order_id ' ])
158
- ->where ($ orderIdField , $ order ->getEntityId ());
159
- $ gridData = $ connection ->fetchRow ($ select );
160
- $ testData = ['order_id ' => $ order ->getEntityId ()];
161
- $ this ->assertEquals ($ testData , $ gridData );
162
-
161
+ ->where ("$ orderIdField = ? " , $ order ->getEntityId ());
162
+ $ gridTableIndexes = $ connection ->getIndexList ($ constructorArgs ['gridTableName ' ]);
163
+ $ gridFieldData = $ connection ->fetchRow ($ select );
164
+ $ testFiledData = ['order_id ' => $ order ->getEntityId ()];
165
+ $ this ->assertEquals ($ testFiledData , $ gridFieldData );
166
+ $ this ->assertArrayHasKey ($ orderIdIndex , $ gridTableIndexes );
167
+ $ this ->assertEquals ($ gridTableIndexes [$ orderIdIndex ]['fields ' ][0 ], $ orderIdField );
163
168
}
164
169
165
170
/**
@@ -173,7 +178,8 @@ public function shipmentGridDataProvider(): array
173
178
'mainTableName ' => 'sales_shipment ' ,
174
179
'gridTableName ' => 'sales_shipment_grid ' ,
175
180
],
176
- 'entity_id ' ,
181
+ 'order_id ' ,
182
+ 'SALES_SHIPMENT_GRID_ORDER_ID '
177
183
],
178
184
];
179
185
}
0 commit comments