Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertSubtotalInShoppingCart.php
Go to the documentation of this file.
1 <?php
8 
12 use Magento\Checkout\Test\Page\CheckoutCart;
14 use Magento\Mtf\Fixture\FixtureInterface;
15 
21 {
30  public function processAssert(CheckoutCart $checkoutCart, Cart $cart, $requireReload = true)
31  {
32  if ($requireReload) {
33  $checkoutCart->open();
34  }
35 
37  $sourceProducts = $cart->getDataFieldConfig('items')['source'];
38  $products = $sourceProducts->getProducts();
39  $items = $cart->getItems();
40  $productsData = [];
41  $cartData = [];
42 
43  foreach ($items as $key => $item) {
45  $product = $products[$key];
46  $productName = $product->getName();
48  $checkoutItem = $item->getData();
49  $cartItem = $checkoutCart->getCartBlock()->getCartItem($product);
50 
51  $productsData[$productName] = [
52  'subtotal' => $checkoutItem['subtotal'],
53  ];
54  $cartData[$productName] = [
55  'subtotal' => $cartItem->getSubtotalPrice(),
56  ];
57  }
58 
59  $error = $this->verifyData($productsData, $cartData, true);
60  \PHPUnit\Framework\Assert::assertEmpty($error, $error);
61  }
62 
68  public function toString()
69  {
70  return 'Subtotal in the shopping cart equals to expected total from data set.';
71  }
72 }
$productsData
Definition: products.php:19
verifyData(array $fixtureData, array $formData, $isStrict=false, $isPrepareError=true)
$items