11 use Magento\Sales\Model\ResourceModel\Order\Status\History\CollectionFactory;
45 $this->historyCollectionFactory = $this->createPartialMock(
49 $this->invoice = $this->createPartialMock(
51 [
'__wakeUp',
'getEmailSent']
53 $this->invoiceSenderMock = $this->createPartialMock(
54 \
Magento\Sales\Model\
Order\Email\Sender\InvoiceSender::class,
57 $this->loggerMock = $this->createMock(\Psr\Log\LoggerInterface::class);
59 $this->historyCollectionFactory,
61 $this->invoiceSenderMock
70 $historyCollection = $this->createPartialMock(
72 [
'getUnnotifiedForInstance',
'save',
'setIsCustomerNotified']
74 $historyItem = $this->createPartialMock(
76 [
'setIsCustomerNotified',
'save',
'__wakeUp']
78 $historyItem->expects($this->at(0))
79 ->method(
'setIsCustomerNotified')
81 $historyItem->expects($this->at(1))
83 $historyCollection->expects($this->once())
84 ->method(
'getUnnotifiedForInstance')
85 ->with($this->invoice)
86 ->will($this->returnValue($historyItem));
87 $this->invoice->expects($this->once())
88 ->method(
'getEmailSent')
89 ->will($this->returnValue(
true));
90 $this->historyCollectionFactory->expects($this->once())
92 ->will($this->returnValue($historyCollection));
94 $this->invoiceSenderMock->expects($this->once())
96 ->with($this->equalTo($this->invoice));
98 $this->assertTrue($this->notifier->notify($this->invoice));
106 $this->invoice->expects($this->once())
107 ->method(
'getEmailSent')
108 ->will($this->returnValue(
false));
109 $this->assertFalse($this->notifier->notify($this->invoice));
118 $this->invoiceSenderMock->expects($this->once())
120 ->with($this->equalTo($this->invoice))
121 ->will($this->throwException($exception));
122 $this->loggerMock->expects($this->once())
124 ->with($this->equalTo($exception));
125 $this->assertFalse($this->notifier->notify($this->invoice));
$historyCollectionFactory