/** * Assert that product quantity in the mini shopping cart is equals to expected quantity from data set. * * @param CmsIndex $cmsIndex * @param Cart $cart * @return void */ public function processAssert(CmsIndex $cmsIndex, Cart $cart) { $cmsIndex->open()->getTopLinksBlock()->openMiniCart(); /** @var Items $sourceProducts */ $products = $cart->getDataFieldConfig('items')['source']->getProducts(); $items = $cart->getItems(); $productsData = []; $miniCartData = []; foreach ($items as $key => $item) { /** @var CatalogProductSimple $product */ $product = $products[$key]; $productName = $product->getName(); /** @var FixtureInterface $item */ $checkoutItem = $item->getData(); $productsData[$productName] = ['qty' => $checkoutItem['qty']]; $miniCartData[$productName] = ['qty' => $cmsIndex->getCartSidebarBlock()->getCartItem($product)->getQty()]; } $error = $this->verifyData($productsData, $miniCartData, true); \PHPUnit_Framework_Assert::assertEmpty($error, $error); }
/** * Assert that $dataType in the shopping cart equals to expected $dataType from data set. * * @param CheckoutCart $checkoutCart * @param Cart $cart * @param array $verifyData [optional] * @return void */ public function processAssert(CheckoutCart $checkoutCart, Cart $cart, array $verifyData = []) { $checkoutCart->open(); /** @var Items $sourceProducts */ $sourceProducts = $cart->getDataFieldConfig('items')['source']; $products = $sourceProducts->getProducts(); $items = $cart->getItems(); $productsData = []; $cartData = []; foreach ($items as $key => $item) { /** @var CatalogProductSimple $product */ $product = $products[$key]; $data = isset($verifyData[$key]) ? $verifyData[$key] : []; $productName = $product->getName(); /** @var FixtureInterface $item */ $checkoutItem = $item->getData(); $cartItem = $checkoutCart->getCartBlock()->getCartItem($product); $productsData[$productName] = $this->getProductData($checkoutItem, $data); $cartData[$productName] = $this->getCartData($cartItem); } $error = $this->verifyContainsData($productsData, $cartData); \PHPUnit_Framework_Assert::assertEmpty($error, $error); }