本文整理汇总了PHP中Magento\Checkout\Test\Page\CheckoutCart::getCartBlock方法的典型用法代码示例。如果您正苦于以下问题:PHP CheckoutCart::getCartBlock方法的具体用法?PHP CheckoutCart::getCartBlock怎么用?PHP CheckoutCart::getCartBlock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Checkout\Test\Page\CheckoutCart
的用法示例。
在下文中一共展示了CheckoutCart::getCartBlock方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: test
/**
* Run test add to cart cross-sell products.
*
* @param string $products
* @param string $promotedProducts
* @param string $navigateProductsOrder
* @param string $productsToVerify
* @param CmsIndex $cmsIndex
* @param CheckoutCart $checkoutCart
* @return void
*/
public function test($products, $promotedProducts, $navigateProductsOrder, $productsToVerify, CmsIndex $cmsIndex, CheckoutCart $checkoutCart)
{
// Preconditions
$this->createProducts($products);
$this->assignPromotedProducts($promotedProducts, 'cross_sell_products');
// Initialization
$this->cmsIndex = $cmsIndex;
$this->checkoutCart = $checkoutCart;
$navigateProductsOrder = $this->parseNavigateProductsOrder($navigateProductsOrder);
$productsToVerify = $this->parseProductsToVerify($productsToVerify);
$initialProductName = array_shift($navigateProductsOrder);
$initialProduct = $this->products[$initialProductName];
$initialProductToVerify = $productsToVerify[$initialProductName];
// Steps
$this->checkoutCart->open();
$this->checkoutCart->getCartBlock()->clearShoppingCart();
$this->browser->open($_ENV['app_frontend_url'] . $initialProduct->getUrlKey() . '.html');
$this->catalogProductView->getViewBlock()->addToCart($initialProduct);
$this->catalogProductView->getMessagesBlock()->waitSuccessMessage();
$this->assertCrossSellSection($initialProductToVerify);
foreach ($navigateProductsOrder as $productName) {
$this->addToCart($this->products[$productName]);
if (empty($productsToVerify[$productName])) {
$this->assertAbsentCrossSellSection();
} else {
$this->assertCrossSellSection($productsToVerify[$productName]);
}
}
}
示例2: run
/**
* Checkout with Braintree PayPal from Shopping Cart.
*
* @return void
*/
public function run()
{
$this->checkoutCart->open();
$this->checkoutCart->getTotalsBlock()->waitForShippingPriceBlock();
$this->checkoutCart->getTotalsBlock()->waitForUpdatedTotals();
$currentWindow = $this->checkoutCart->getCartBlock()->braintreePaypalCheckout();
$this->checkoutCart->getBraintreePaypalBlock()->process($currentWindow);
}
示例3: test
/**
* Run test add products to shopping cart
*
* @param string $products
* @param int $deletedProductIndex
* @return array
*/
public function test($products, $deletedProductIndex)
{
// Preconditions
$products = $this->prepareProducts($products);
$this->cartPage->open();
$this->cartPage->getCartBlock()->clearShoppingCart();
// Steps
$this->addToCart($products);
$this->cartPage->getMessagesBlock()->waitSuccessMessage();
$this->removeProduct($products[$deletedProductIndex]);
$deletedProduct = $products[$deletedProductIndex];
unset($products[$deletedProductIndex]);
return ['products' => $products, 'deletedProduct' => $deletedProduct];
}
示例4: assertOnShoppingCart
/**
* Assert prices on the shopping cart
*
* @param FixtureInterface $product
* @param CheckoutCart $checkoutCart
* @return void
*/
protected function assertOnShoppingCart(FixtureInterface $product, CheckoutCart $checkoutCart)
{
$cartBlock = $checkoutCart->getCartBlock();
$productName = $product->getName();
$productOptions = $product->getCustomOptions();
$priceComparing = $product->getPrice();
if ($groupPrice = $product->getGroupPrice()) {
$groupPrice = reset($groupPrice);
$priceComparing = $groupPrice['price'];
}
if ($specialPrice = $product->getSpecialPrice()) {
$priceComparing = $specialPrice;
}
if (!empty($productOptions)) {
$productOption = reset($productOptions);
$optionsData = reset($productOption['options']);
$optionName = $cartBlock->getCartItemOptionsNameByProductName($productName);
$optionValue = $cartBlock->getCartItemOptionsValueByProductName($productName);
\PHPUnit_Framework_Assert::assertTrue(trim($optionName) === $productOption['title'] && trim($optionValue) === $optionsData['title'], 'In the cart wrong option product.');
if ($optionsData['price_type'] === 'Percent') {
$priceComparing = $priceComparing * (1 + $optionsData['price'] / 100);
} else {
$priceComparing += $optionsData['price'];
}
}
$price = $checkoutCart->getCartBlock()->getProductPriceByName($productName);
\PHPUnit_Framework_Assert::assertEquals(number_format($priceComparing, 2), $price, 'Product price in shopping cart is not correct.');
}
示例5: assertOnShoppingCart
/**
* Assert prices on the shopping cart
*
* @param FixtureInterface $product
* @param CheckoutCart $checkoutCart
* @return void
*
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
protected function assertOnShoppingCart(FixtureInterface $product, CheckoutCart $checkoutCart)
{
$checkoutCart->open();
/** @var CatalogProductSimple $product */
$customOptions = $product->getCustomOptions();
$checkoutData = $product->getCheckoutData();
$checkoutCartItem = isset($checkoutData['cartItem']) ? $checkoutData['cartItem'] : [];
$checkoutCustomOptions = isset($checkoutData['options']['custom_options']) ? $checkoutData['options']['custom_options'] : [];
$fixturePrice = $product->getPrice();
$specialPrice = $product->getSpecialPrice();
$cartItem = $checkoutCart->getCartBlock()->getCartItem($product);
$formPrice = $cartItem->getPrice();
if ($specialPrice) {
$fixturePrice = $specialPrice;
}
if (isset($checkoutCartItem['price'])) {
$fixturePrice = $checkoutCartItem['price'];
}
$fixtureActualPrice = $fixturePrice;
foreach ($checkoutCustomOptions as $checkoutOption) {
$attributeKey = str_replace('attribute_key_', '', $checkoutOption['title']);
$optionKey = str_replace('option_key_', '', $checkoutOption['value']);
$option = $customOptions[$attributeKey]['options'][$optionKey];
if ('Fixed' == $option['price_type']) {
$fixtureActualPrice += $option['price'];
} else {
$fixtureActualPrice += $fixturePrice / 100 * $option['price'];
}
}
\PHPUnit_Framework_Assert::assertEquals($fixtureActualPrice, $formPrice, 'Product price in shopping cart is not correct.');
}
示例6: assertPrice
/**
* Assert prices on the product view page and shopping cart page.
*
* @param BundleProduct $product
* @param CatalogProductView $catalogProductView
* @param CheckoutCart $checkoutCartView
* @param BundleProduct $originalProduct [optional]
* @return void
*
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
protected function assertPrice(BundleProduct $product, CatalogProductView $catalogProductView, CheckoutCart $checkoutCartView, BundleProduct $originalProduct = null)
{
$customerGroup = 'NOT LOGGED IN';
$bundleData = $product->getData();
$this->productPriceType = $originalProduct !== null ? $originalProduct->getPriceType() : $product->getPriceType();
$catalogProductView->getViewBlock()->addToCart($product);
$catalogProductView->getMessagesBlock()->waitSuccessMessage();
$checkoutCartView->open();
$cartItem = $checkoutCartView->getCartBlock()->getCartItem($product);
$specialPrice = 0;
if (isset($bundleData['group_price'])) {
$specialPrice = $bundleData['group_price'][array_search($customerGroup, $bundleData['group_price'])]['price'] / 100;
}
$optionPrice = [];
$fillData = $product->getCheckoutData();
foreach ($fillData['options']['bundle_options'] as $key => $data) {
$subProductPrice = 0;
foreach ($bundleData['bundle_selections']['products'][$key] as $productKey => $itemProduct) {
if (strpos($itemProduct->getName(), $data['value']['name']) !== false) {
$data['value']['key'] = $productKey;
$subProductPrice = $itemProduct->getPrice();
}
}
$optionPrice[$key]['price'] = $this->productPriceType == 'Fixed' ? number_format($bundleData['bundle_selections']['bundle_options'][$key]['assigned_products'][$data['value']['key']]['data']['selection_price_value'], 2) : number_format($subProductPrice, 2);
}
foreach ($optionPrice as $index => $item) {
$item['price'] -= $item['price'] * $specialPrice;
\PHPUnit_Framework_Assert::assertEquals(number_format($item['price'], 2), $cartItem->getPriceBundleOptions($index + 1), 'Bundle item ' . ($index + 1) . ' options on frontend don\'t equal to fixture.');
}
$sumOptionsPrice = $product->getDataFieldConfig('price')['source']->getPriceData()['cart_price'];
$subTotal = number_format($cartItem->getPrice(), 2);
\PHPUnit_Framework_Assert::assertEquals($sumOptionsPrice, $subTotal, 'Bundle unit price on frontend doesn\'t equal to fixture.');
}
示例7: removeProducts
/**
* Remove products form cart
*
* @param array $products
* @return void
*/
protected function removeProducts(array $products)
{
$this->cartPage->open();
foreach ($products as $product) {
$this->cartPage->getCartBlock()->getCartItem($product)->removeItem();
}
}
示例8: assertCheckoutCart
/**
* Verify checkout cart.
*
* @param array $checkoutProducts
* @return void
*/
protected function assertCheckoutCart(array $checkoutProducts)
{
$this->checkoutCart->open();
foreach ($checkoutProducts as $product) {
\PHPUnit_Framework_Assert::assertTrue($this->checkoutCart->getCartBlock()->getCartItem($product)->isVisible(), "Product {$product->getName()} absent in cart.");
}
}
示例9: processAssert
/**
* Assert that products are present in shopping cart
*
* @param CheckoutCart $checkoutCart
* @param array $products
* @return void
*/
public function processAssert(CheckoutCart $checkoutCart, array $products)
{
$checkoutCart->open();
foreach ($products as $product) {
\PHPUnit_Framework_Assert::assertTrue($checkoutCart->getCartBlock()->getCartItem($product)->isVisible(), 'Product ' . $product->getName() . ' is absent in shopping cart.');
}
}
示例10: assertOnShoppingCart
/**
* Assert prices on the shopping cart
*
* @param FixtureInterface $product
* @param CheckoutCart $checkoutCart
* @return void
*/
protected function assertOnShoppingCart(FixtureInterface $product, CheckoutCart $checkoutCart)
{
$customOptions = $product->getCustomOptions();
$checkoutData = $product->getCheckoutData();
$checkoutCustomOptions = isset($checkoutData['custom_options']) ? $checkoutData['custom_options'] : [];
$fixturePrice = $product->getPrice();
$groupPrice = $product->getGroupPrice();
$specialPrice = $product->getSpecialPrice();
$cartItem = $checkoutCart->getCartBlock()->getCartItem($product);
$formPrice = $cartItem->getPrice();
if ($groupPrice) {
$groupPrice = reset($groupPrice);
$fixturePrice = $groupPrice['price'];
}
if ($specialPrice) {
$fixturePrice = $specialPrice;
}
$fixtureActualPrice = $fixturePrice;
foreach ($checkoutCustomOptions as $checkoutOption) {
$attributeKey = $checkoutOption['title'];
$optionKey = $checkoutOption['value'];
$option = $customOptions[$attributeKey]['options'][$optionKey];
if ('Fixed' == $option['price_type']) {
$fixtureActualPrice += $option['price'];
} else {
$fixtureActualPrice += $fixturePrice / 100 * $option['price'];
}
}
\PHPUnit_Framework_Assert::assertEquals(number_format($fixtureActualPrice, 2), $formPrice, 'Product price in shopping cart is not correct.');
}
示例11: processAssert
/**
* Assertion that the product is correctly displayed in cart
*
* @param Browser $browser
* @param CatalogProductView $catalogProductView
* @param CheckoutCart $checkoutCart
* @param ConfigurableProductInjectable $product
* @return void
*/
public function processAssert(Browser $browser, CatalogProductView $catalogProductView, CheckoutCart $checkoutCart, ConfigurableProductInjectable $product)
{
$browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html');
$catalogProductView->getViewBlock()->addToCart($product);
$checkoutData = $product->getCheckoutData();
$price = $checkoutCart->getCartBlock()->getCartItem($product)->getPrice();
\PHPUnit_Framework_Assert::assertEquals($checkoutData['cartItem']['price'], $price, 'Product price in shopping cart is not correct.');
}
示例12: assertOnShoppingCart
/**
* Assert prices on the shopping Cart
*
* @param CatalogProductConfigurable $configurable
* @param CheckoutCart $checkoutCart
* @return void
*/
protected function assertOnShoppingCart(CatalogProductConfigurable $configurable, CheckoutCart $checkoutCart)
{
/** @var \Magento\ConfigurableProduct\Test\Fixture\CatalogProductConfigurable\Price $priceFixture */
$priceFixture = $configurable->getDataFieldConfig('price')['source'];
$pricePresetData = $priceFixture->getPreset();
$price = $checkoutCart->getCartBlock()->getProductPriceByName($configurable->getName());
\PHPUnit_Framework_Assert::assertEquals($pricePresetData['cart_price'], $price, 'Product price in shopping cart is not correct.');
}
示例13: getCartPrices
/**
* Get cart prices.
*
* @param InjectableFixture $product
* @param $actualPrices
* @return array
*/
public function getCartPrices(InjectableFixture $product, $actualPrices)
{
$actualPrices['cart_item_price_excl_tax'] = $this->checkoutCart->getCartBlock()->getCartItem($product)->getPriceExclTax();
$actualPrices['cart_item_price_incl_tax'] = $this->checkoutCart->getCartBlock()->getCartItem($product)->getPriceInclTax();
$actualPrices['cart_item_subtotal_excl_tax'] = $this->checkoutCart->getCartBlock()->getCartItem($product)->getSubtotalPriceExclTax();
$actualPrices['cart_item_subtotal_incl_tax'] = $this->checkoutCart->getCartBlock()->getCartItem($product)->getSubtotalPriceInclTax();
return $actualPrices;
}
示例14: processAssert
/**
* Assert that Catalog Price Rule is not applied for product(s) in Shopping Cart.
*
* @param CheckoutCart $checkoutCartPage
* @param array $products
* @param array $productPrice
* @return void
*/
public function processAssert(CheckoutCart $checkoutCartPage, array $products, array $productPrice)
{
$this->objectManager->create('\\Magento\\Checkout\\Test\\TestStep\\AddProductsToTheCartStep', ['products' => $products])->run();
$checkoutCartPage->open();
foreach ($products as $key => $product) {
$actualPrice = $checkoutCartPage->getCartBlock()->getCartItem($product)->getSubtotalPrice();
\PHPUnit_Framework_Assert::assertEquals($productPrice[$key]['regular'], $actualPrice, 'Wrong product price is displayed.' . "\nExpected: " . $productPrice[$key]['regular'] . "\nActual: " . $actualPrice . "\n");
}
}
示例15: processAssert
/**
* Assert that product is displayed in cross-sell section
*
* @param CatalogProductSimple $product1
* @param CatalogProductSimple $product2
* @param CmsIndex $cmsIndex
* @param CatalogCategoryView $catalogCategoryView
* @param CatalogProductView $catalogProductView
* @param CheckoutCart $checkoutCart
* @return void
*/
public function processAssert(CatalogProductSimple $product1, CatalogProductSimple $product2, CmsIndex $cmsIndex, CatalogCategoryView $catalogCategoryView, CatalogProductView $catalogProductView, CheckoutCart $checkoutCart)
{
$categoryName = $product1->getCategoryIds()[0];
$checkoutCart->open();
$checkoutCart->getCartBlock()->clearShoppingCart();
$cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
$catalogCategoryView->getListProductBlock()->openProductViewPage($product1->getName());
$catalogProductView->getViewBlock()->addToCart($product1);
\PHPUnit_Framework_Assert::assertTrue($checkoutCart->getCrosssellBlock()->verifyProductCrosssell($product2), 'Product \'' . $product2->getName() . '\' is absent in cross-sell section.');
}