13 use Magento\Sales\Api\Data\CreditmemoCreationArgumentsExtensionInterface;
30 private $returnValidatorMock;
35 private $extensionAttributesMock;
40 private $creditmemoCreationArgumentsMock;
45 private $refundOrderValidatorMock;
50 private $validateResultMock;
60 private $creditmemoMock;
64 $this->returnValidatorMock = $this->getMockBuilder(ReturnValidator::class)
65 ->disableOriginalConstructor()
68 $this->creditmemoCreationArgumentsMock = $this->getMockBuilder(CreditmemoCreationArgumentsInterface::class)
69 ->disableOriginalConstructor()
72 $this->extensionAttributesMock = $this->getMockBuilder(CreditmemoCreationArgumentsExtensionInterface::class)
73 ->setMethods([
'getReturnToStockItems'])
74 ->disableOriginalConstructor()
75 ->getMockForAbstractClass();
77 $this->validateResultMock = $this->getMockBuilder(ValidatorResultInterface::class)
78 ->disableOriginalConstructor()
81 $this->refundOrderValidatorMock = $this->getMockBuilder(RefundOrderInterface::class)
82 ->disableOriginalConstructor()
85 $this->orderMock = $this->getMockBuilder(OrderInterface::class)
86 ->disableOriginalConstructor()
89 $this->creditmemoMock = $this->getMockBuilder(CreditmemoInterface::class)
90 ->disableOriginalConstructor()
101 $returnToStockItems = [1];
102 $this->creditmemoCreationArgumentsMock->expects($this->exactly(3))
103 ->method(
'getExtensionAttributes')
104 ->willReturn($this->extensionAttributesMock);
106 $this->extensionAttributesMock->expects($this->exactly(2))
107 ->method(
'getReturnToStockItems')
108 ->willReturn($returnToStockItems);
110 $this->returnValidatorMock->expects($this->once())
112 ->willReturn($erroMessage);
114 $this->validateResultMock->expects($erroMessage ? $this->once() : $this->never())
115 ->method(
'addMessage')
116 ->with($erroMessage);
118 $this->plugin->afterValidate(
119 $this->refundOrderValidatorMock,
120 $this->validateResultMock,
122 $this->creditmemoMock,
127 $this->creditmemoCreationArgumentsMock
137 'withErrors' => [
'Error!'],
138 'withoutErrors' => [
'null'],
testAfterValidation($erroMessage)