You are here

public function EventTrackerServiceTest::testAddToCart in Commerce Google Tag Manager 8.2

Same name and namespace in other branches
  1. 8 tests/src/Unit/EventTrackerServiceTest.php \Drupal\Tests\commerce_google_tag_manager\Unit\EventTrackerServiceTest::testAddToCart()

@covers ::addToCart

@dataProvider productVariationProvider

File

tests/src/Unit/EventTrackerServiceTest.php, line 141

Class

EventTrackerServiceTest
Tests for the EventTracker service.

Namespace

Drupal\Tests\commerce_google_tag_manager\Unit

Code

public function testAddToCart($product_variation, $product_data) {
  $order_item = $this
    ->prophesize(OrderItemInterface::class);
  $order_item
    ->getPurchasedEntity()
    ->willReturn($product_variation);
  $order_item
    ->getTotalPrice()
    ->willReturn(new Price('50', 'CHF'));
  $this->eventStorage
    ->expects($this
    ->once())
    ->method('addEvent')
    ->with([
    'event' => EventTrackerService::EVENT_ADD_CART,
    'ecommerce' => [
      'currencyCode' => 'CHF',
      'add' => [
        'products' => [
          array_merge($product_data, [
            'quantity' => 1,
          ]),
        ],
      ],
    ],
  ]);
  $this->eventTracker
    ->addToCart($order_item
    ->reveal(), 1);
}