@@ -29,6 +29,12 @@ class CartPromotionsTest extends GraphQlAbstract
29
29
* @magentoApiDataFixture Magento/Catalog/_files/multiple_products.php
30
30
* @magentoApiDataFixture Magento/SalesRule/_files/rules_category.php
31
31
*/
32
+
33
+ /**
34
+ * @var float
35
+ */
36
+ private const EPSILON = 0.0000000001 ;
37
+
32
38
public function testCartPromotionSingleCartRule ()
33
39
{
34
40
$ skus =['simple1 ' , 'simple2 ' ];
@@ -151,16 +157,18 @@ public function testCartPromotionsMultipleCartRules()
151
157
$ lineItemDiscount = $ productsInResponse [$ itemIndex ][0 ]['prices ' ]['discounts ' ];
152
158
$ expectedTotalDiscountValue = ($ productsInCart [$ itemIndex ]->getSpecialPrice ()*$ qty *0.5 ) +
153
159
($ productsInCart [$ itemIndex ]->getSpecialPrice ()*$ qty *0.5 *0.1 );
154
- $ this ->assertEquals (
160
+ $ this ->assertEqualsWithDelta (
155
161
$ productsInCart [$ itemIndex ]->getSpecialPrice ()*$ qty *0.5 ,
156
- current ($ lineItemDiscount )['amount ' ]['value ' ]
162
+ current ($ lineItemDiscount )['amount ' ]['value ' ],
163
+ self ::EPSILON
157
164
);
158
165
$ this ->assertEquals ('TestRule_Label ' , current ($ lineItemDiscount )['label ' ]);
159
166
160
167
$ lineItemDiscountValue = next ($ lineItemDiscount )['amount ' ]['value ' ];
161
- $ this ->assertEquals (
168
+ $ this ->assertEqualsWithDelta (
162
169
round ($ productsInCart [$ itemIndex ]->getSpecialPrice ()*$ qty *0.5 )*0.1 ,
163
- $ lineItemDiscountValue
170
+ $ lineItemDiscountValue ,
171
+ self ::EPSILON
164
172
);
165
173
$ this ->assertEquals ('10% off with two items_Label ' , end ($ lineItemDiscount )['label ' ]);
166
174
$ actualTotalDiscountValue = $ lineItemDiscount [0 ]['amount ' ]['value ' ]+$ lineItemDiscount [1 ]['amount ' ]['value ' ];
0 commit comments