12 use Magento\Sales\Api\Data\CreditmemoCreationArgumentsExtensionInterface;
31 private $returnValidatorMock;
36 private $extensionAttributesMock;
41 private $creditmemoCreationArgumentsMock;
46 private $refundInvoiceValidatorMock;
56 private $validateResultMock;
66 private $creditmemoMock;
70 $this->returnValidatorMock = $this->getMockBuilder(ReturnValidator::class)
71 ->disableOriginalConstructor()
74 $this->creditmemoCreationArgumentsMock = $this->getMockBuilder(CreditmemoCreationArgumentsInterface::class)
75 ->disableOriginalConstructor()
78 $this->extensionAttributesMock = $this->getMockBuilder(CreditmemoCreationArgumentsExtensionInterface::class)
79 ->setMethods([
'getReturnToStockItems'])
80 ->disableOriginalConstructor()
81 ->getMockForAbstractClass();
83 $this->validateResultMock = $this->getMockBuilder(ValidatorResultInterface::class)
84 ->disableOriginalConstructor()
87 $this->refundInvoiceValidatorMock = $this->getMockBuilder(RefundInvoiceInterface::class)
88 ->disableOriginalConstructor()
91 $this->invoiceMock = $this->getMockBuilder(InvoiceInterface::class)
92 ->disableOriginalConstructor()
95 $this->orderMock = $this->getMockBuilder(OrderInterface::class)
96 ->disableOriginalConstructor()
99 $this->creditmemoMock = $this->getMockBuilder(CreditmemoInterface::class)
100 ->disableOriginalConstructor()
111 $returnToStockItems = [1];
112 $this->creditmemoCreationArgumentsMock->expects($this->exactly(3))
113 ->method(
'getExtensionAttributes')
114 ->willReturn($this->extensionAttributesMock);
116 $this->extensionAttributesMock->expects($this->exactly(2))
117 ->method(
'getReturnToStockItems')
118 ->willReturn($returnToStockItems);
120 $this->returnValidatorMock->expects($this->once())
122 ->willReturn($erroMessage);
124 $this->validateResultMock->expects($erroMessage ? $this->once() : $this->never())
125 ->method(
'addMessage')
126 ->with($erroMessage);
128 $this->plugin->afterValidate(
129 $this->refundInvoiceValidatorMock,
130 $this->validateResultMock,
133 $this->creditmemoMock,
139 $this->creditmemoCreationArgumentsMock
149 'withErrors' => [
'Error!'],
150 'withoutErrors' => [
'null'],
testAfterValidation($erroMessage)