Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SaveTest.php
Go to the documentation of this file.
1 <?php
8 
9 class SaveTest extends \PHPUnit\Framework\TestCase
10 {
15 
19  protected $model;
20 
21  protected function setUp()
22  {
23  $productRepositoryMock = $this->createMock(\Magento\Catalog\Api\ProductRepositoryInterface::class);
24  $this->messageFactoryMock = $this->getMockBuilder(\Magento\GiftMessage\Model\MessageFactory::class)
25  ->setMethods(['create'])
26  ->disableOriginalConstructor()
27  ->getMock();
28  $sessionMock = $this->createMock(\Magento\Backend\Model\Session\Quote::class);
29  $giftMessageHelperMock = $this->createMock(\Magento\GiftMessage\Helper\Message::class);
30  $this->model = new \Magento\GiftMessage\Model\Save(
31  $productRepositoryMock,
32  $this->messageFactoryMock,
33  $sessionMock,
34  $giftMessageHelperMock
35  );
36  }
37 
38  public function testSaveAllInOrder()
39  {
40  $message = [1 =>
41  [
42  'from' => 'John Doe',
43  'to' => 'Jane Doe',
44  'message' => 'I love Magento',
45  'type' => 'order'
46  ]
47  ];
48  $this->model->setGiftmessages($message);
49 
50  $messageMock = $this->createMock(\Magento\GiftMessage\Model\Message::class);
51  $entityModelMock = $this->createMock(\Magento\Sales\Model\Order::class);
52 
53  $this->messageFactoryMock->expects($this->once())->method('create')->willReturn($messageMock);
54  $messageMock->expects($this->once())->method('getEntityModelByType')->with('order')->willReturnSelf();
55  $messageMock->expects($this->once())->method('load')->with(1)->willReturn($entityModelMock);
56  $messageMock->expects($this->atLeastOnce())->method('isMessageEmpty')->willReturn(false);
57  $messageMock->expects($this->once())->method('save');
58  $entityModelMock->expects($this->once())->method('save');
59  $this->assertEquals($this->model, $this->model->saveAllInOrder());
60  }
61 }
$message