public function CartEventTest::testTrackCartRemove in Commerce Google Tag Manager 8.2
Same name and namespace in other branches
- 8 tests/src/Kernel/EventSubscriber/CartEventTest.php \Drupal\Tests\commerce_google_tag_manager\Kernel\EventSubscriber\CartEventTest::testTrackCartRemove()
@covers ::trackCartRemove
File
- tests/
src/ Kernel/ EventSubscriber/ CartEventTest.php, line 120
Class
- CartEventTest
- @coversDefaultClass \Drupal\commerce_google_tag_manager\EventSubscriber\CommerceEventsSubscriber
Namespace
Drupal\Tests\commerce_google_tag_manager\Kernel\EventSubscriberCode
public function testTrackCartRemove() {
// Create a partial-mocked version of CommerceEventsSubscriber.
$subscriber = $this
->getMockBuilder(CommerceEventsSubscriber::class)
->disableOriginalConstructor()
->setMethods([
'trackCartAdd',
'trackCartRemove',
])
->getMock();
// Assert the trackCartRemove will be called only once.
$subscriber
->expects($this
->once())
->method('trackCartRemove')
->with($this
->isInstanceOf(CartOrderItemRemoveEvent::class));
// Add the new mocked CommerceEventsSubscriber.
$this->eventDispatcher
->addSubscriber($subscriber);
// Remove to cart, which should fire a CartEvents::CART_ORDER_ITEM_REMOVE.
$cart = $this->cartProvider
->createCart('default', $this->store, $this->user);
$order_item = $this->cartManager
->addEntity($cart, $this->variation);
$this->cartManager
->removeOrderItem($cart, $order_item);
}