File tree Expand file tree Collapse file tree 4 files changed +42
-2
lines changed
Block/Order/Item/Renderer
api-functional/testsuite/Magento/Sales/Service/V1
integration/testsuite/Magento/Sales/_files Expand file tree Collapse file tree 4 files changed +42
-2
lines changed Original file line number Diff line number Diff line change @@ -48,6 +48,8 @@ public function __construct(
48
48
}
49
49
50
50
/**
51
+ * Set item.
52
+ *
51
53
* @param \Magento\Framework\DataObject $item
52
54
* @return $this
53
55
*/
@@ -58,6 +60,8 @@ public function setItem(\Magento\Framework\DataObject $item)
58
60
}
59
61
60
62
/**
63
+ * Get item.
64
+ *
61
65
* @return array|null
62
66
*/
63
67
public function getItem ()
@@ -76,6 +80,8 @@ public function getOrder()
76
80
}
77
81
78
82
/**
83
+ * Get order item.
84
+ *
79
85
* @return array|null
80
86
*/
81
87
public function getOrderItem ()
@@ -88,6 +94,8 @@ public function getOrderItem()
88
94
}
89
95
90
96
/**
97
+ * Get item options.
98
+ *
91
99
* @return array
92
100
*/
93
101
public function getItemOptions ()
@@ -262,6 +270,23 @@ public function getTotalAmount($item)
262
270
return $ totalAmount ;
263
271
}
264
272
273
+ /**
274
+ * Return the base total amount minus discount.
275
+ *
276
+ * @param OrderItem|InvoiceItem|CreditmemoItem $item
277
+ * @return mixed
278
+ */
279
+ public function getBaseTotalAmount ($ item )
280
+ {
281
+ $ baseTotalAmount = $ item ->getBaseRowTotal ()
282
+ + $ item ->getBaseTaxAmount ()
283
+ + $ item ->getBaseDiscountTaxCompensationAmount ()
284
+ + $ item ->getBaseWeeeTaxAppliedAmount ()
285
+ - $ item ->getBaseDiscountAmount ();
286
+
287
+ return $ baseTotalAmount ;
288
+ }
289
+
265
290
/**
266
291
* Return HTML for item total after discount
267
292
*
Original file line number Diff line number Diff line change 9
9
10
10
use Magento \Sales \Api \Data \OrderItemInterface ;
11
11
use Magento \Sales \Block \Adminhtml \Items \Column \DefaultColumn ;
12
+ use Magento \Sales \Block \Order \Item \Renderer \DefaultRenderer ;
12
13
13
14
/**
14
15
* Class for changing row total in response.
@@ -20,13 +21,21 @@ class ChangeOutputArray
20
21
*/
21
22
private $ priceRenderer ;
22
23
24
+ /**
25
+ * @var DefaultRenderer
26
+ */
27
+ private $ defaultRenderer ;
28
+
23
29
/**
24
30
* @param DefaultColumn $priceRenderer
31
+ * @param DefaultRenderer $defaultRenderer
25
32
*/
26
33
public function __construct (
27
- DefaultColumn $ priceRenderer
34
+ DefaultColumn $ priceRenderer ,
35
+ DefaultRenderer $ defaultRenderer
28
36
) {
29
37
$ this ->priceRenderer = $ priceRenderer ;
38
+ $ this ->defaultRenderer = $ defaultRenderer ;
30
39
}
31
40
32
41
/**
@@ -42,6 +51,8 @@ public function execute(
42
51
): array {
43
52
$ result [OrderItemInterface::ROW_TOTAL ] = $ this ->priceRenderer ->getTotalAmount ($ dataObject );
44
53
$ result [OrderItemInterface::BASE_ROW_TOTAL ] = $ this ->priceRenderer ->getBaseTotalAmount ($ dataObject );
54
+ $ result [OrderItemInterface::ROW_TOTAL_INCL_TAX ] = $ this ->defaultRenderer ->getTotalAmount ($ dataObject );
55
+ $ result [OrderItemInterface::BASE_ROW_TOTAL_INCL_TAX ] = $ this ->defaultRenderer ->getBaseTotalAmount ($ dataObject );
45
56
46
57
return $ result ;
47
58
}
Original file line number Diff line number Diff line change @@ -106,5 +106,7 @@ public function testGetOrderWithDiscount()
106
106
$ this ->assertTrue (is_array ($ response ));
107
107
$ this ->assertEquals (8.00 , $ response ['row_total ' ]);
108
108
$ this ->assertEquals (8.00 , $ response ['base_row_total ' ]);
109
+ $ this ->assertEquals (9.00 , $ response ['row_total_incl_tax ' ]);
110
+ $ this ->assertEquals (9.00 , $ response ['base_row_total_incl_tax ' ]);
109
111
}
110
112
}
Original file line number Diff line number Diff line change 47
47
->setProductType ('simple ' )
48
48
->setDiscountAmount (2 )
49
49
->setBaseRowTotal ($ product ->getPrice ())
50
- ->setBaseDiscountAmount (2 );
50
+ ->setBaseDiscountAmount (2 )
51
+ ->setTaxAmount (1 )
52
+ ->setBaseTaxAmount (1 );
51
53
52
54
/** @var Order $order */
53
55
$ order = $ objectManager ->create (Order::class);
You can’t perform that action at this time.
0 commit comments