SubtractQtyFromQuotesObserverTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Test\Unit\Observer\Backend;
  7. use Magento\Sales\Observer\Backend\SubtractQtyFromQuotesObserver;
  8. class SubtractQtyFromQuotesObserverTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var SubtractQtyFromQuotesObserver
  12. */
  13. protected $_model;
  14. /**
  15. * @var \PHPUnit_Framework_MockObject_MockObject
  16. */
  17. protected $_quoteMock;
  18. /**
  19. * @var \PHPUnit_Framework_MockObject_MockObject
  20. */
  21. protected $_observerMock;
  22. /**
  23. * @var \PHPUnit_Framework_MockObject_MockObject
  24. */
  25. protected $_eventMock;
  26. protected function setUp()
  27. {
  28. $this->_quoteMock = $this->createMock(\Magento\Quote\Model\ResourceModel\Quote::class);
  29. $this->_observerMock = $this->createMock(\Magento\Framework\Event\Observer::class);
  30. $this->_eventMock = $this->createPartialMock(
  31. \Magento\Framework\Event::class,
  32. ['getProduct', 'getStatus', 'getProductId']
  33. );
  34. $this->_observerMock->expects($this->any())->method('getEvent')->will($this->returnValue($this->_eventMock));
  35. $this->_model = new SubtractQtyFromQuotesObserver($this->_quoteMock);
  36. }
  37. public function testSubtractQtyFromQuotes()
  38. {
  39. $productMock = $this->createPartialMock(
  40. \Magento\Catalog\Model\Product::class,
  41. ['getId', 'getStatus', '__wakeup']
  42. );
  43. $this->_eventMock->expects($this->once())->method('getProduct')->will($this->returnValue($productMock));
  44. $this->_quoteMock->expects($this->once())->method('subtractProductFromQuotes')->with($productMock);
  45. $this->_model->execute($this->_observerMock);
  46. }
  47. }