public function AjaxAddCartViewsEditQuantityTest::testOrderTotal in Commerce Ajax Add to Cart 8
Tests whether order total is correct on ajax quantity update.
File
- modules/
dc_ajax_add_cart_views/ tests/ src/ FunctionalJavascript/ AjaxAddCartViewsEditQuantityTest.php, line 83
Class
- AjaxAddCartViewsEditQuantityTest
- Commerce Ajax Add to Cart Views Edit Quantity tests.
Namespace
Drupal\Tests\dc_ajax_add_cart_views\FunctionalJavascriptCode
public function testOrderTotal() {
$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());
$price = $this
->getSession()
->getPage()
->find('css', '.order-total-line__total .order-total-line-value')
->getText();
$price = (double) preg_replace('/[^0-9\\.]/', '', $price);
$actual_price = (double) $this->cart
->getTotalPrice()
->getNumber();
$this
->assertEquals($price, $actual_price, 'Prices are not equal.');
}