Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AddPaypalShortcutsTest.php
Go to the documentation of this file.
1 <?php
7 
14 
20 class AddPaypalShortcutsTest extends \PHPUnit\Framework\TestCase
21 {
22  public function testExecute()
23  {
24  $addPaypalShortcuts = new AddPaypalShortcuts();
25 
27  $observerMock = $this->getMockBuilder(Observer::class)
28  ->disableOriginalConstructor()
29  ->getMock();
30 
32  $eventMock = $this->getMockBuilder(Event::class)
33  ->setMethods(['getContainer'])
34  ->disableOriginalConstructor()
35  ->getMock();
36 
38  $shortcutButtonsMock = $this->getMockBuilder(ShortcutButtons::class)
39  ->disableOriginalConstructor()
40  ->getMock();
41 
42  $layoutMock = $this->getMockBuilder(LayoutInterface::class)
43  ->getMockForAbstractClass();
44 
45  $blockMock = $this->getMockBuilder(Button::class)
46  ->disableOriginalConstructor()
47  ->getMock();
48 
49  $observerMock->expects(self::once())
50  ->method('getEvent')
51  ->willReturn($eventMock);
52 
53  $eventMock->expects(self::once())
54  ->method('getContainer')
55  ->willReturn($shortcutButtonsMock);
56 
57  $shortcutButtonsMock->expects(self::once())
58  ->method('getLayout')
59  ->willReturn($layoutMock);
60 
61  $layoutMock->expects(self::once())
62  ->method('createBlock')
64  ->willReturn($blockMock);
65 
66  $shortcutButtonsMock->expects(self::once())
67  ->method('addShortcut')
68  ->with($blockMock);
69 
70  $addPaypalShortcuts->execute($observerMock);
71  }
72 }