1212use Magento \Sales \Model \ResourceModel \Provider \UpdatedAtListProvider ;
1313use Magento \TestFramework \Helper \Bootstrap ;
1414use PHPUnit \Framework \TestCase ;
15+ use Magento \Framework \DB \Adapter \Pdo \Mysql ;
1516
1617/**
1718 * @magentoDataFixture Magento/Sales/_files/order_with_invoice_shipment_creditmemo.php
@@ -139,8 +140,9 @@ public function gridDataProvider(): array
139140 * @dataProvider shipmentGridDataProvider
140141 * @param array $constructorArgs
141142 * @param string $orderIdField
143+ * @param string $orderIdIndex
142144 */
143- public function testSalesShipmentGridOrderIdField (array $ constructorArgs , string $ orderIdField )
145+ public function testSalesShipmentGridOrderIdFieldIndex (array $ constructorArgs , string $ orderIdField, string $ orderIdIndex )
144146 {
145147 $ constructorArgs ['orderIdField ' ] = $ constructorArgs ['mainTableName ' ] . '. ' . $ orderIdField ;
146148 $ constructorArgs ['columns ' ] = [
@@ -150,16 +152,19 @@ public function testSalesShipmentGridOrderIdField(array $constructorArgs, string
150152 ];
151153 $ constructorArgs ['notSyncedDataProvider ' ] = $ this ->objectManager ->get (UpdatedAtListProvider::class);
152154 $ grid = $ this ->objectManager ->create (Grid::class, $ constructorArgs );
155+ /** @var Mysql $connection */
153156 $ connection = $ grid ->getConnection ();
154157 $ order = $ this ->objectManager ->create (\Magento \Sales \Model \Order::class)
155158 ->loadByIncrementId ('100000111 ' );
156159 $ select = $ connection ->select ()
157160 ->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 );
163168 }
164169
165170 /**
@@ -173,7 +178,8 @@ public function shipmentGridDataProvider(): array
173178 'mainTableName ' => 'sales_shipment ' ,
174179 'gridTableName ' => 'sales_shipment_grid ' ,
175180 ],
176- 'entity_id ' ,
181+ 'order_id ' ,
182+ 'SALES_SHIPMENT_GRID_ORDER_ID '
177183 ],
178184 ];
179185 }
0 commit comments