You are here

public function AjaxAddCartViewsEditQuantityTest::testAjaxUpdateCartButton in Commerce Ajax Add to Cart 8

Tests whether the update cart button is indeed ajaxified.

File

modules/dc_ajax_add_cart_views/tests/src/FunctionalJavascript/AjaxAddCartViewsEditQuantityTest.php, line 52

Class

AjaxAddCartViewsEditQuantityTest
Commerce Ajax Add to Cart Views Edit Quantity tests.

Namespace

Drupal\Tests\dc_ajax_add_cart_views\FunctionalJavascript

Code

public function testAjaxUpdateCartButton() {
  $this
    ->drupalLogin($this->account);
  $cart_variation = array_pop($this->variations);
  $this->cartManager
    ->addEntity($this->cart, $cart_variation);
  $this
    ->drupalGet("cart-update-ajax/{$this->cart->id()}");
  $this
    ->assertCartAjaxPage();
  $variation_row_element = $this
    ->getRowCartAjaxByVariation($cart_variation);
  $this
    ->assertVariationRowCartAjax($variation_row_element);
  $variation_position = $this
    ->getVariationRowPositionCartAjax($cart_variation);
  $this
    ->assertVariationRowPosition($variation_position);
  $variation_row_element
    ->fillField("dc_ajax_add_cart_views_edit_quantity[{$variation_position}]", '2');
  $this
    ->getSession()
    ->getPage()
    ->findButton('Update cart')
    ->click();
  $this->cart = Order::load($this->cart
    ->id());
  $order_items = $this->cart
    ->getItems();

  // Check whether the product quantity is still the same.
  $variation_row_element = $this
    ->getRowCartAjaxByVariation($cart_variation);
  $this
    ->assertVariationRowCartAjax($variation_row_element);
  $this
    ->assertVariationInOrder($cart_variation, $order_items);
}