From 0501e1794641116c99c2e69d6adf383ce26d9adb Mon Sep 17 00:00:00 2001 From: nmalevanec Date: Mon, 11 Jun 2018 13:53:32 +0300 Subject: [PATCH 1/4] 1334: CreateOrderBackendTest rework to support MSI 'Reorder button' new behaviour. --- .../Braintree/Test/TestCase/CreateOrderBackendTest.xml | 6 +++--- .../Magento/Sales/Test/TestCase/CreateOrderBackendTest.xml | 4 ++-- .../tests/app/Magento/Sales/Test/etc/testcase.xml | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml index 8ffcab68cdc62..cf3b3ae407a49 100644 --- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml +++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml @@ -28,7 +28,7 @@ braintree Processing Back, Cancel, Send Email, Hold, Invoice, Ship, Reorder, Edit - + @@ -57,7 +57,7 @@ braintree, braintree_sale Processing Back, Send Email, Hold, Ship, Reorder - + @@ -83,7 +83,7 @@ visa_braintree_fraud_rejected braintree Processing - + diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendTest.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendTest.xml index 439b8a4492a1a..c4e03b94d2ada 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendTest.xml +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/TestCase/CreateOrderBackendTest.xml @@ -19,7 +19,7 @@ cashondelivery cashondelivery - + @@ -35,7 +35,7 @@ cashondelivery cashondelivery - + diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml index c7c4a2276e4b7..28b7e3a69f67e 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/etc/testcase.xml @@ -36,7 +36,8 @@ - + + From 731b58f10925f9fa88e9541db91d8706f8ddcb63 Mon Sep 17 00:00:00 2001 From: nmalevanec Date: Tue, 12 Jun 2018 19:03:37 +0300 Subject: [PATCH 2/4] 1334: CreateOrderBackendTest rework to support MSI 'Reorder button' new behaviour. --- .../Braintree/Test/TestCase/CreateOrderBackendTest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml index cf3b3ae407a49..67bf0f33c3e94 100644 --- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml +++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml @@ -27,7 +27,7 @@ braintree braintree Processing - Back, Cancel, Send Email, Hold, Invoice, Ship, Reorder, Edit + Back, Cancel, Send Email, Hold, Invoice, Reorder, Edit @@ -56,7 +56,7 @@ braintree braintree, braintree_sale Processing - Back, Send Email, Hold, Ship, Reorder + Back, Send Email, Hold, Reorder From 7c3d53f4ee819958292d08ddc64ecbcd97353634 Mon Sep 17 00:00:00 2001 From: nmalevanec Date: Wed, 13 Jun 2018 11:55:47 +0300 Subject: [PATCH 3/4] 1334: CreateOrderBackendTest rework to support MSI 'Reorder button' new behaviour. --- .../Braintree/Test/TestCase/CreateOrderBackendTest.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml index 67bf0f33c3e94..acf15c0e28252 100644 --- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml +++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOrderBackendTest.xml @@ -27,7 +27,7 @@ braintree braintree Processing - Back, Cancel, Send Email, Hold, Invoice, Reorder, Edit + Back, Cancel, Send Email, Invoice, Reorder, Edit @@ -55,8 +55,8 @@ visa_default braintree braintree, braintree_sale - Processing - Back, Send Email, Hold, Reorder + Complete + Back, Send Email, Reorder From 0d06ad882506150ed5bb39386a2ff0805c0d07b6 Mon Sep 17 00:00:00 2001 From: nmalevanec Date: Wed, 13 Jun 2018 15:29:47 +0300 Subject: [PATCH 4/4] 1334: CreateOrderBackendTest rework to support MSI 'Reorder button' new behaviour. --- .../Test/Block/Adminhtml/Order/Actions.php | 10 ++++++++++ .../Sales/Test/TestStep/CreateShipmentStep.php | 18 +++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Actions.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Actions.php index 573f28f09b78c..7a6903ef47aac 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Actions.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Actions.php @@ -137,6 +137,16 @@ class Actions extends Block */ protected $confirmModal = '.confirm._show[data-role=modal]'; + /** + * Is shipment can be created. + * + * @return bool + */ + public function canShip() + { + return $this->_rootElement->find($this->ship)->isVisible(); + } + /** * Ship order. * diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateShipmentStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateShipmentStep.php index 79abd438a1f2e..dcee66b44646e 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateShipmentStep.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateShipmentStep.php @@ -99,13 +99,21 @@ public function run() { $this->orderIndex->open(); $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - $this->salesOrderView->getPageActions()->ship(); - if (!empty($this->data)) { - $this->orderShipmentNew->getFormBlock()->fillData($this->data, $this->order->getEntityId()['products']); + $shipmentIds = []; + /** + * As this step is used in general scenarios and not all test cases has shippable items(ex: virtual product) + * we need to check, if it possible to create shipment for given order. + */ + if ($this->salesOrderView->getPageActions()->canShip()) { + $this->salesOrderView->getPageActions()->ship(); + if (!empty($this->data)) { + $this->orderShipmentNew->getFormBlock()->fillData($this->data, $this->order->getEntityId()['products']); + } + $this->orderShipmentNew->getFormBlock()->submit(); + $shipmentIds = $this->getShipmentIds(); } - $this->orderShipmentNew->getFormBlock()->submit(); - return ['shipmentIds' => $this->getShipmentIds()]; + return ['shipmentIds' => $shipmentIds]; } /**