commercetools-8.x-1.2-alpha1/tests/src/Nightwatch/Lib/checkCartSummaryBlock.js

tests/src/Nightwatch/Lib/checkCartSummaryBlock.js
const addCatalogProductToCart = require('./utils/addCatalogProductToCart');
const checkSummaryLineItem = require('./checkSummaryLineItem');
const { blocks, product } = require('./selectors');
const checkInStockFilter = require('./checkInStockFilter');

async function checkCartSummaryBlock(browser, items, catalogUrl, settings) {
  // Save old cookies to restore after checking the Cart Summary block.
  const oldCookies = await browser.cookies.getAll();
  const cardInStockIndex = 0;

  browser
    .drupalRelativeURL(catalogUrl)
    .waitForElementVisible(product.catalog)
    .perform(() => {
      checkInStockFilter(browser);
    })
    // Add a product to the cart.
    .perform(async () => {
      await addCatalogProductToCart(browser, cardInStockIndex);
    })
    // Open dropdown of the Cart Summary block.
    .drupalRelativeURL(catalogUrl)
    .waitForElementVisible(product.catalog)
    .waitForElementVisible(blocks.summary.component)
    .click(
      browser
        .element({ selector: blocks.summary.component })
        .findElement(blocks.summary.dropdownButton),
    )
    .perform(async () => {
      await browser.waitForElementVisible(
        browser
          .element({ selector: blocks.summary.component })
          .findElement(blocks.summary.dropdown),
      );
    })
    // Check dropdown with line items.
    .perform(async () => {
      await checkSummaryLineItem(browser, items[cardInStockIndex], 0, settings);
    })
    // Delete new cookies created after adding an item to the cart.
    .perform(async () => {
      const cookies = await browser.cookies.getAll();
      cookies.forEach((cookie) => {
        if (!oldCookies.some((oldCookie) => cookie.name === oldCookie.name)) {
          browser.cookies.delete(cookie.name);
        }
      });
    });
}

module.exports = checkCartSummaryBlock;

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc