8 use \Magento\Tax\Model\Sales\Order\TaxManagement;
20 private $taxManagement;
30 private $taxItemResourceMock;
44 $this->orderMock = $this->createPartialMock(\
Magento\Sales\Model\Order::class, [
'load']);
47 $orderFactoryMock = $this->createPartialMock(\
Magento\Sales\Model\OrderFactory::class,
$methods);
48 $orderFactoryMock->expects($this->atLeastOnce())
50 ->will($this->returnValue($this->orderMock));
52 $className = \Magento\Sales\Model\ResourceModel\Order\Tax\Item::class;
53 $this->taxItemResourceMock = $this->createPartialMock(
$className, [
'getTaxItemsByOrderId']);
55 $className = \Magento\Sales\Model\ResourceModel\Order\Tax\ItemFactory::class;
57 $taxItemFactoryMock->expects($this->once())
59 ->willReturn($this->taxItemResourceMock);
64 $className = \Magento\Tax\Api\Data\OrderTaxDetailsAppliedTaxInterfaceFactory::class;
66 $appliedTaxDataObjectFactoryMock->expects($this->any())
68 ->willReturn($this->appliedTaxDataObject);
72 $className = \Magento\Tax\Api\Data\OrderTaxDetailsItemInterfaceFactory::class;
74 $itemDataObjectFactoryMock->expects($this->atLeastOnce())
76 ->willReturn($itemDataObject);
78 $this->orderTaxDetailsDataObject =
$objectManager->getObject(\
Magento\Tax\Model\Sales\Order\Details::class);
80 $className = \Magento\Tax\Api\Data\OrderTaxDetailsInterfaceFactory::class;
81 $orderTaxDetailsDataObjectFactoryMock = $this->createPartialMock(
$className,
$methods);
82 $orderTaxDetailsDataObjectFactoryMock->expects($this->any())
84 ->willReturn($this->orderTaxDetailsDataObject);
87 \
Magento\Tax\Model\Sales\Order\TaxManagement::class,
89 'orderFactory' => $orderFactoryMock,
90 'orderItemTaxFactory' => $taxItemFactoryMock,
91 'orderTaxDetailsDataObjectFactory' => $orderTaxDetailsDataObjectFactoryMock,
92 'itemDataObjectFactory' => $itemDataObjectFactoryMock,
93 'appliedTaxDataObjectFactory' => $appliedTaxDataObjectFactoryMock
107 $this->orderMock->expects($this->once())
110 ->will($this->returnSelf());
111 $this->taxItemResourceMock->expects($this->once())
112 ->method(
'getTaxItemsByOrderId')
114 ->will($this->returnValue($orderItemAppliedTaxes));
116 $this->assertEquals($this->orderTaxDetailsDataObject, $this->taxManagement->getOrderTaxDetails($orderId));
118 $this->assertEquals($expected[
'code'], $this->appliedTaxDataObject->getCode());
119 $this->assertEquals($expected[
'title'], $this->appliedTaxDataObject->getTitle());
120 $this->assertEquals($expected[
'tax_percent'], $this->appliedTaxDataObject->getPercent());
121 $this->assertEquals($expected[
'real_amount'], $this->appliedTaxDataObject->getAmount());
122 $this->assertEquals($expected[
'real_base_amount'], $this->appliedTaxDataObject->getBaseAmount());
133 'orderItemAppliedTaxes' => [
136 'taxable_item_type' =>
'product',
137 'associated_item_id' =>
null,
138 'code' =>
'US-CA-*-Rate 1',
139 'title' =>
'US-CA-*-Rate 1',
140 'tax_percent' =>
'8.25',
141 'real_amount' =>
'6.1889',
142 'real_base_amount' =>
'12.3779',
146 'code' =>
'US-CA-*-Rate 1',
147 'title' =>
'US-CA-*-Rate 1',
148 'tax_percent' =>
'8.25',
149 'real_amount' =>
'6.1889',
150 'real_base_amount' =>
'12.3779',
155 'orderItemAppliedTaxes' => [
158 'taxable_item_type' =>
'weee',
159 'associated_item_id' => 54,
160 'code' =>
'SanJose City Tax',
161 'title' =>
'SanJose City Tax',
162 'tax_percent' =>
'6',
163 'real_amount' =>
'0.9011',
164 'real_base_amount' =>
'1.7979',
168 'code' =>
'SanJose City Tax',
169 'title' =>
'SanJose City Tax',
170 'tax_percent' =>
'6',
171 'real_amount' =>
'0.9011',
172 'real_base_amount' =>
'1.7979',
177 'orderItemAppliedTaxes' => [
180 'taxable_item_type' =>
'shipping',
181 'associated_item_id' =>
null,
182 'code' =>
'Shipping',
183 'title' =>
'Shipping',
184 'tax_percent' =>
'21',
185 'real_amount' =>
'2.6',
186 'real_base_amount' =>
'5.21',
190 'code' =>
'Shipping',
191 'title' =>
'Shipping',
192 'tax_percent' =>
'21',
193 'real_amount' =>
'2.6',
194 'real_base_amount' =>
'5.21',
199 'orderItemAppliedTaxes' => [
202 'taxable_item_type' =>
'weee',
203 'associated_item_id' => 69,
206 'tax_percent' =>
'5',
207 'real_amount' =>
'2.10',
208 'real_base_amount' =>
'4.10',
212 'taxable_item_type' =>
'weee',
213 'associated_item_id' => 69,
216 'tax_percent' =>
'5',
217 'real_amount' =>
'1.15',
218 'real_base_amount' =>
'3.10',
224 'tax_percent' =>
'5',
225 'real_amount' =>
'3.25',
226 'real_base_amount' =>
'7.20',
$orderTaxDetailsDataObject
getOrderTaxDetailsDataProvider()
testGetOrderTaxDetails($orderItemAppliedTaxes, $expected)