/**
  * Assert that deleted configurable attributes are absent on product page on frontend.
  *
  * @param CatalogProductAttribute[] $deletedProductAttributes
  * @param BrowserInterface $browser
  * @param CatalogProductView $catalogProductView
  * @param ConfigurableProduct $product
  * @return void
  */
 public function processAssert(array $deletedProductAttributes, BrowserInterface $browser, CatalogProductView $catalogProductView, ConfigurableProduct $product)
 {
     $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html');
     $pageOptions = $catalogProductView->getViewBlock()->getOptions($product)['configurable_options'];
     foreach ($deletedProductAttributes as $attribute) {
         $attributeLabel = $attribute->getFrontendLabel();
         \PHPUnit_Framework_Assert::assertFalse(isset($pageOptions[$attributeLabel]), "Configurable attribute '{$attributeLabel}' found on product page on frontend.");
     }
 }
 /**
  * Assertion that the product is correctly displayed in cart
  *
  * @param BrowserInterface $browser
  * @param CatalogProductView $catalogProductView
  * @param CheckoutCart $checkoutCart
  * @param ConfigurableProduct $product
  * @return void
  */
 public function processAssert(BrowserInterface $browser, CatalogProductView $catalogProductView, CheckoutCart $checkoutCart, ConfigurableProduct $product)
 {
     $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html');
     $catalogProductView->getViewBlock()->addToCart($product);
     $catalogProductView->getMessagesBlock()->waitSuccessMessage();
     $checkoutCart->open();
     $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.');
 }
 /**
  * Assert that all configurable attributes is absent on product page on frontend.
  *
  * @param BrowserInterface $browser
  * @param CatalogProductView $catalogProductView
  * @param ConfigurableProduct $product
  * @return void
  */
 public function processAssert(BrowserInterface $browser, CatalogProductView $catalogProductView, ConfigurableProduct $product)
 {
     $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html');
     \PHPUnit_Framework_Assert::assertFalse($catalogProductView->getConfigurableAttributesBlock()->isVisible(), "Configurable attributes are present on product page on frontend.");
 }