AddPaypalShortcutsTest.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Braintree\Test\Unit\Observer;
  7. use Magento\Braintree\Block\Paypal\Button;
  8. use Magento\Catalog\Block\ShortcutButtons;
  9. use Magento\Framework\Event;
  10. use Magento\Framework\Event\Observer;
  11. use Magento\Braintree\Observer\AddPaypalShortcuts;
  12. use Magento\Framework\View\LayoutInterface;
  13. /**
  14. * Class AddPaypalShortcutsTest
  15. *
  16. * @see \Magento\Braintree\Observer\AddPaypalShortcuts
  17. */
  18. class AddPaypalShortcutsTest extends \PHPUnit\Framework\TestCase
  19. {
  20. public function testExecute()
  21. {
  22. $addPaypalShortcuts = new AddPaypalShortcuts();
  23. /** @var Observer|\PHPUnit_Framework_MockObject_MockObject $observerMock */
  24. $observerMock = $this->getMockBuilder(Observer::class)
  25. ->disableOriginalConstructor()
  26. ->getMock();
  27. /** @var Event|\PHPUnit_Framework_MockObject_MockObject $eventMock */
  28. $eventMock = $this->getMockBuilder(Event::class)
  29. ->setMethods(['getContainer'])
  30. ->disableOriginalConstructor()
  31. ->getMock();
  32. /** @var ShortcutButtons|\PHPUnit_Framework_MockObject_MockObject $shortcutButtonsMock */
  33. $shortcutButtonsMock = $this->getMockBuilder(ShortcutButtons::class)
  34. ->disableOriginalConstructor()
  35. ->getMock();
  36. $layoutMock = $this->getMockBuilder(LayoutInterface::class)
  37. ->getMockForAbstractClass();
  38. $blockMock = $this->getMockBuilder(Button::class)
  39. ->disableOriginalConstructor()
  40. ->getMock();
  41. $observerMock->expects(self::once())
  42. ->method('getEvent')
  43. ->willReturn($eventMock);
  44. $eventMock->expects(self::once())
  45. ->method('getContainer')
  46. ->willReturn($shortcutButtonsMock);
  47. $shortcutButtonsMock->expects(self::once())
  48. ->method('getLayout')
  49. ->willReturn($layoutMock);
  50. $layoutMock->expects(self::once())
  51. ->method('createBlock')
  52. ->with(AddPaypalShortcuts::PAYPAL_SHORTCUT_BLOCK)
  53. ->willReturn($blockMock);
  54. $shortcutButtonsMock->expects(self::once())
  55. ->method('addShortcut')
  56. ->with($blockMock);
  57. $addPaypalShortcuts->execute($observerMock);
  58. }
  59. }