/**
  * 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();
     /** @var Items $sourceProducts */
     $sourceProducts = $cart->getDataFieldConfig('items')['source'];
     $products = $sourceProducts->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()->getProductQty($productName)];
     }
     $error = $this->verifyData($productsData, $miniCartData, true);
     \PHPUnit_Framework_Assert::assertEmpty($error, $error);
 }
コード例 #2
0
 /**
  * Assert that cart item options for product(s) display with correct information block
  * (custom options, variations, links, samples, bundle items etc) according to passed from dataset.
  *
  * @param CheckoutCart $checkoutCart
  * @param Cart $cart
  * @return void
  */
 public function processAssert(CheckoutCart $checkoutCart, Cart $cart)
 {
     $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];
         $productName = $product->getName();
         /** @var FixtureInterface $item */
         $checkoutItem = $item->getData();
         $cartItem = $checkoutCart->getCartBlock()->getCartItem($product);
         $productsData[$productName] = ['options' => $this->sortDataByPath($checkoutItem['options'], '::title')];
         $cartData[$productName] = ['options' => $this->sortDataByPath($cartItem->getOptions(), '::title')];
     }
     $error = $this->verifyContainsData($productsData, $cartData, true);
     \PHPUnit_Framework_Assert::assertEmpty($error, $error);
 }
コード例 #3
0
 /**
  * Assert that subtotal total in the shopping cart is equals to expected total from data set
  *
  * @param CheckoutCart $checkoutCart
  * @param Cart $cart
  * @param boolean $requireReload
  * @return void
  */
 public function processAssert(CheckoutCart $checkoutCart, Cart $cart, $requireReload = true)
 {
     if ($requireReload) {
         $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];
         $productName = $product->getName();
         /** @var FixtureInterface $item */
         $checkoutItem = $item->getData();
         $cartItem = $checkoutCart->getCartBlock()->getCartItem($product);
         $productsData[$productName] = ['subtotal' => $checkoutItem['subtotal']];
         $cartData[$productName] = ['subtotal' => $cartItem->getSubtotalPrice()];
     }
     $error = $this->verifyData($productsData, $cartData, true);
     \PHPUnit_Framework_Assert::assertEmpty($error, $error);
 }