You are here

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

Tests edit quantity views field.

File

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

Class

AjaxAddCartViewsEditQuantityTest
Commerce Ajax Add to Cart Views Edit Quantity tests.

Namespace

Drupal\Tests\dc_ajax_add_cart_views\FunctionalJavascript

Code

public function testUpdateCartButton() {
  $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
    ->waitForAjaxToFinish();
  $this->cart = Order::load($this->cart
    ->id());
  $order_items = $this->cart
    ->getItems();

  // Check if the product quantity has been updated.
  $variation_row_element = $this
    ->getRowCartAjaxByVariation($cart_variation);
  $this
    ->assertVariationRowCartAjax($variation_row_element);
  $this
    ->assertVariationInOrder($cart_variation, $order_items, 2);
}