commerce-8.x-2.8/modules/cart/tests/src/Functional/EmptyCartButtonTest.php

modules/cart/tests/src/Functional/EmptyCartButtonTest.php
<?php

namespace Drupal\Tests\commerce_cart\Functional;

use Drupal\Tests\commerce_order\Functional\OrderBrowserTestBase;

/**
 * Tests the cart page with the empty cart button enabled.
 *
 * @group commerce
 */
class EmptyCartButtonTest extends OrderBrowserTestBase {

  /**
   * The cart order to test against.
   *
   * @var \Drupal\commerce_order\Entity\Order
   */
  protected $cart;

  /**
   * The cart manager for test cart operations.
   *
   * @var \Drupal\commerce_cart\CartManager
   */
  protected $cartManager;

  /**
   * Modules to enable.
   *
   * @var array
   */
  public static $modules = [
    'commerce_cart_test',
  ];

  /**
   * {@inheritdoc}
   */
  protected function setUp() {
    parent::setUp();

    $this->cart = \Drupal::service('commerce_cart.cart_provider')->createCart('default', $this->store);
    $this->cartManager = \Drupal::service('commerce_cart.cart_manager');
  }

  /**
   * Test the Empty Cart button.
   */
  public function testEmptyCartButton() {
    $this->drupalLogin($this->adminUser);

    // Need a second product to make sure all are removed.
    $second_variation = $this->createEntity('commerce_product_variation', [
      'type' => 'default',
      'sku' => $this->randomMachineName(),
      'price' => [
        'number' => 222,
        'currency_code' => 'USD',
      ],
    ]);
    $this->createEntity('commerce_product', [
      'type' => 'default',
      'title' => $this->randomMachineName(),
      'stores' => [$this->store],
      'variations' => [$second_variation],
    ]);

    $this->cartManager->addEntity($this->cart, $this->variation);
    $this->cartManager->addEntity($this->cart, $second_variation);

    $this->drupalGet('test-empty-cart-button-form/' . $this->cart->id());
    $this->assertSession()->pageTextContains('$999.00');
    $this->assertSession()->pageTextContains('$222.00');
    $this->assertSession()->buttonExists('Empty cart');
    $this->submitForm([], t('Empty cart'));
    $this->assertSession()->pageTextContains(t('Your shopping cart is empty.'));
  }

}

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

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