33 * Copyright © Magento, Inc. All rights reserved.
44 * See COPYING.txt for license details.
55 */
6+ declare (strict_types=1 );
7+
68namespace Magento \Shipping \Block \Adminhtml \Order ;
79
810use Magento \Backend \Block \Template ;
@@ -28,12 +30,19 @@ class AddToPackageTest extends TestCase
2830 */
2931 private $ orderRepository ;
3032
31- /** @var ObjectManagerInterface */
33+ /**
34+ * @var ObjectManagerInterface
35+ */
3236 private $ objectManager ;
3337
34- /** @var Registry */
38+ /**
39+ * @var Registry
40+ */
3541 private $ registry ;
3642
43+ /**
44+ * @inheritDoc
45+ */
3746 protected function setUp (): void
3847 {
3948 $ this ->objectManager = Bootstrap::getObjectManager ();
@@ -42,30 +51,43 @@ protected function setUp(): void
4251 }
4352
4453 /**
45- * Loads order entity by provided order increment ID.
54+ * Test that Packaging popup renders
4655 *
47- * @param string $incrementId
48- * @return OrderInterface
56+ * @magentoDataFixture Magento/Shipping/_files/shipping_with_carrier_data.php
4957 */
50- private function getOrderByIncrementId ( string $ incrementId ) : OrderInterface
58+ public function testGetCommentsHtml (): void
5159 {
52- /** @var SearchCriteria $searchCriteria */
53- $ searchCriteria = $ this ->objectManager ->get (SearchCriteriaBuilder::class)
54- ->addFilter ('increment_id ' , $ incrementId )
55- ->create ();
56-
57- $ items = $ this ->orderRepository ->getList ($ searchCriteria )
58- ->getItems ();
60+ $ expectedNeedle = "packaging.setItemQtyCallback(function(itemId){
61+ var item = $$('[name= \"shipment[items]['+itemId+'] \"]')[0],
62+ itemTitle = $('order_item_' + itemId + '_title');
63+ if (!itemTitle && !item) {
64+ return 0;
65+ }
66+ if (item && !isNaN(item.value)) {
67+ return item.value;
68+ }
69+ }); " ;
70+ $ this ->assertStringContainsString ($ expectedNeedle , $ this ->getHtml ());
71+ }
5972
60- return array_pop ($ items );
73+ /**
74+ * Verify currency code on custom value field
75+ *
76+ * @magentoDataFixture Magento/Shipping/_files/shipping_with_carrier_data_different_currency_code.php
77+ */
78+ public function testGetCurrencyCodeCustomValue ()
79+ {
80+ $ expectedCurrencyCode = '<span class="customs-value-currency">
81+ FR </span> ' ;
82+ $ this ->assertStringContainsString ($ expectedCurrencyCode , $ this ->getHtml ());
6183 }
6284
6385 /**
64- * Test that Packaging popup renders
86+ * Get html for packaging popup
6587 *
66- * @magentoDataFixture Magento/Shipping/_files/shipping_with_carrier_data.php
88+ * @return string
6789 */
68- public function testGetCommentsHtml ()
90+ private function getHtml ()
6991 {
7092 /** @var Template $block */
7193 $ block = $ this ->objectManager ->get (Packaging::class);
@@ -78,17 +100,26 @@ public function testGetCommentsHtml()
78100 $ this ->registry ->register ('current_shipment ' , $ shipment );
79101
80102 $ block ->setTemplate ('Magento_Shipping::order/packaging/popup.phtml ' );
81- $ html = $ block ->toHtml ();
82- $ expectedNeedle = "packaging.setItemQtyCallback(function(itemId){
83- var item = $$('[name= \"shipment[items]['+itemId+'] \"]')[0],
84- itemTitle = $('order_item_' + itemId + '_title');
85- if (!itemTitle && !item) {
86- return 0;
87- }
88- if (item && !isNaN(item.value)) {
89- return item.value;
90- }
91- }); " ;
92- $ this ->assertStringContainsString ($ expectedNeedle , $ html );
103+
104+ return $ block ->toHtml ();
105+ }
106+
107+ /**
108+ * Loads order entity by provided order increment ID.
109+ *
110+ * @param string $incrementId
111+ * @return OrderInterface
112+ */
113+ private function getOrderByIncrementId (string $ incrementId ) : OrderInterface
114+ {
115+ /** @var SearchCriteria $searchCriteria */
116+ $ searchCriteria = $ this ->objectManager ->get (SearchCriteriaBuilder::class)
117+ ->addFilter ('increment_id ' , $ incrementId )
118+ ->create ();
119+
120+ $ items = $ this ->orderRepository ->getList ($ searchCriteria )
121+ ->getItems ();
122+
123+ return array_pop ($ items );
93124 }
94125}
0 commit comments