9 use \Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
44 $this->orderExtensionFactoryMock = $this->getMockBuilder(
45 \
Magento\Sales\Api\Data\OrderExtensionFactory::class
46 )->disableOriginalConstructor()
47 ->setMethods([
'create'])
50 $this->quoteAddressMock = $this->getMockBuilder(\
Magento\Quote\Model\Quote\Address::class)
51 ->disableOriginalConstructor()
52 ->setMethods([
'getAppliedTaxes',
'getItemsAppliedTaxes'])
54 $this->subjectMock = $this->getMockBuilder(\
Magento\Quote\Model\Quote\Address\ToOrder::class)
55 ->disableOriginalConstructor()
59 $this->model = $this->objectManagerHelper->getObject(
60 \
Magento\Tax\Model\Quote\ToOrderConverter::class,
62 'orderExtensionFactory' => $this->orderExtensionFactoryMock,
72 $orderExtensionAttributeMock = $this->getMockBuilder(\
Magento\Sales\Api\Data\OrderExtensionInterface::class)
76 'setConvertingFromQuote',
79 )->getMockForAbstractClass();
81 return $orderExtensionAttributeMock;
93 $expectedAppliedTaxes,
95 $itemAppliedTaxesExpected
97 $this->model->beforeConvert($this->subjectMock, $this->quoteAddressMock);
99 $this->quoteAddressMock->expects($this->once())
100 ->method(
'getAppliedTaxes')
101 ->willReturn($appliedTaxes);
102 $this->quoteAddressMock->expects($this->once())
103 ->method(
'getItemsAppliedTaxes')
104 ->willReturn($itemsAppliedTaxes);
106 $orderMock = $this->getMockBuilder(\
Magento\Sales\Model\Order::class)
107 ->disableOriginalConstructor()
112 $orderMock->expects($this->once())
113 ->method(
'getExtensionAttributes')
114 ->willReturn($orderExtensionAttributeMock);
116 $orderExtensionAttributeMock->expects($this->once())
117 ->method(
'setAppliedTaxes')
118 ->with($expectedAppliedTaxes);
119 $orderExtensionAttributeMock->expects($this->once())
120 ->method(
'setConvertingFromQuote')
122 $orderExtensionAttributeMock->expects($this->once())
123 ->method(
'setItemAppliedTaxes')
124 ->with($itemAppliedTaxesExpected);
125 $orderMock->expects($this->once())
126 ->method(
'setExtensionAttributes')
127 ->with($orderExtensionAttributeMock);
129 $this->assertEquals($orderMock, $this->model->afterConvert($this->subjectMock, $orderMock));
141 $expectedAppliedTaxes,
143 $itemAppliedTaxesExpected
145 $this->model->beforeConvert($this->subjectMock, $this->quoteAddressMock);
147 $this->quoteAddressMock->expects($this->once())
148 ->method(
'getAppliedTaxes')
149 ->willReturn($appliedTaxes);
150 $this->quoteAddressMock->expects($this->once())
151 ->method(
'getItemsAppliedTaxes')
152 ->willReturn($itemsAppliedTaxes);
156 $orderMock = $this->getMockBuilder(\
Magento\Sales\Model\Order::class)
157 ->disableOriginalConstructor()
160 $orderMock->expects($this->once())
161 ->method(
'getExtensionAttributes')
164 $this->orderExtensionFactoryMock->expects($this->once())
166 ->willReturn($orderExtensionAttributeMock);
168 $orderExtensionAttributeMock->expects($this->once())
169 ->method(
'setAppliedTaxes')
170 ->with($expectedAppliedTaxes);
171 $orderExtensionAttributeMock->expects($this->once())
172 ->method(
'setConvertingFromQuote')
174 $orderExtensionAttributeMock->expects($this->once())
175 ->method(
'setItemAppliedTaxes')
176 ->with($itemAppliedTaxesExpected);
177 $orderMock->expects($this->once())
178 ->method(
'setExtensionAttributes')
179 ->with($orderExtensionAttributeMock);
181 $this->assertEquals($orderMock, $this->model->afterConvert($this->subjectMock, $orderMock));
206 'expected_applied_taxes' => [
210 'extension_attributes' => [
221 'item_applied_taxes' => [
226 'item_type' =>
'product',
227 'associated_item_id' =>
null,
241 'item_type' =>
'shipping',
242 'associated_item_id' =>
null,
253 'item_applied_taxes_expected' => [
257 'associated_item_id' =>
null,
262 'item_type' =>
'product',
263 'associated_item_id' =>
null,
264 'extension_attributes' => [
278 'type' =>
'shipping',
279 'associated_item_id' =>
null,
284 'item_type' =>
'shipping',
285 'associated_item_id' =>
null,
286 'extension_attributes' => [
testAfterConvertNullExtensionAttribute( $appliedTaxes, $expectedAppliedTaxes, $itemsAppliedTaxes, $itemAppliedTaxesExpected)
testAfterConvert( $appliedTaxes, $expectedAppliedTaxes, $itemsAppliedTaxes, $itemAppliedTaxesExpected)
setupOrderExtensionAttributeMock()
afterConvertDataProvider()
$orderExtensionFactoryMock