diff --git a/dev/tests/functional/etc/repository_replacer.xml b/dev/tests/functional/etc/repository_replacer.xml index 793dffec4f35fb1bed159ecff027a9314cd6f46a..61046fbac44c4b6fdc85e9f75c3d4cb6105644f6 100644 --- a/dev/tests/functional/etc/repository_replacer.xml +++ b/dev/tests/functional/etc/repository_replacer.xml @@ -144,13 +144,4 @@ <field name="id" xsi:type="number">1</field> </dataset> </repository> - - <repository class="Magento\Braintree\Test\Repository\BraintreeSandboxCustomer"> - <dataset name="braintree_sandbox_default"> - <field name="environment" xsi:type="string">BRAINTREEE_ENVIRONMENT</field> - <field name="merchantId" xsi:type="string">BRAINTREEE_MERCHANT_ID</field> - <field name="publicKey" xsi:type="string">BRAINTREE_PUBLIC_KEY</field> - <field name="privateKey" xsi:type="string">BRAINTREE_PRIVATE_KEY</field> - </dataset> - </repository> </config> diff --git a/dev/tests/functional/etc/repository_replacer_payments.xml b/dev/tests/functional/etc/repository_replacer_payments.xml new file mode 100644 index 0000000000000000000000000000000000000000..2045f3d02661bb46a5c4b834b749d03eb71ae589 --- /dev/null +++ b/dev/tests/functional/etc/repository_replacer_payments.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/** + * Copyright © 2016 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd"> + <repository class="Magento\Braintree\Test\Repository\BraintreeSandboxCustomer"> + <dataset name="braintree_sandbox_default"> + <field name="environment" xsi:type="string">BRAINTREEE_ENVIRONMENT</field> + <field name="merchantId" xsi:type="string">BRAINTREEE_MERCHANT_ID</field> + <field name="publicKey" xsi:type="string">BRAINTREE_PUBLIC_KEY</field> + <field name="privateKey" xsi:type="string">BRAINTREE_PRIVATE_KEY</field> + </dataset> + </repository> +</config> diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOnlineCreditMemoBraintreePaypalTest.xml b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOnlineCreditMemoBraintreePaypalTest.xml index 2f14871eda96e102a51ed4ceefd4578af49967b8..c791dfb10b63d42ccfe360f1f96595554d177e49 100644 --- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOnlineCreditMemoBraintreePaypalTest.xml +++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOnlineCreditMemoBraintreePaypalTest.xml @@ -11,10 +11,17 @@ <data name="products/0" xsi:type="string">catalogProductSimple::product_10_dollar</data> <data name="products/1" xsi:type="string">bundleProduct::bundle_fixed_100_dollar_product</data> <data name="customer/dataset" xsi:type="string">default</data> - <data name="checkoutMethod" xsi:type="string">login</data> + <data name="checkoutMethod" xsi:type="string">guest</data> <data name="taxRule" xsi:type="string">us_ca_ny_rule</data> - <data name="refundedPrices" xsi:type="array"> - <item name="0" xsi:type="string">139.90</item> + <data name="order/data/refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="invoiceId" xsi:type="string">0</item> + </item> + </data> + <data name="order/data/price/refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="grand_creditmemo_total" xsi:type="string">139.90</item> + </item> </data> <data name="shippingAddress/dataset" xsi:type="string">US_address_1_without_email</data> <data name="shipping/shipping_service" xsi:type="string">Flat Rate</data> @@ -22,7 +29,6 @@ <data name="payment/method" xsi:type="string">braintree_paypal</data> <data name="configData" xsi:type="string">braintree, braintree_paypal, braintree_paypal_sale, braintree_paypal_skip_order_review</data> <data name="paymentAction" xsi:type="string">sale</data> - <data name="data/items_data/0/qty" xsi:type="string">-</data> <data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S1</data> <constraint name="Magento\Sales\Test\Constraint\AssertRefundSuccessCreateMessage" /> <constraint name="Magento\Sales\Test\Constraint\AssertRefundInCreditMemoTab" /> @@ -31,10 +37,28 @@ <variation name="CreateOnlineCreditMemoBraintreePaypalTestVariation2" summary="Partial refund of order placed within Braintree PayPal" ticketId="MAGETWO-48698"> <data name="products/0" xsi:type="string">catalogProductSimple::simple_for_sales</data> <data name="customer/dataset" xsi:type="string">default</data> - <data name="checkoutMethod" xsi:type="string">login</data> + <data name="checkoutMethod" xsi:type="string">guest</data> <data name="taxRule" xsi:type="string">us_ca_ny_rule</data> - <data name="refundedPrices" xsi:type="array"> - <item name="0" xsi:type="string">621.20</item> + <data name="order/data/refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="invoiceId" xsi:type="string">0</item> + <item name="items_data" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="qty" xsi:type="string">1</item> + </item> + </item> + </item> + <item name="1" xsi:type="array"> + <item name="invoiceId" xsi:type="string">0</item> + </item> + </data> + <data name="order/data/price/refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="grand_creditmemo_total" xsi:type="string">621.20</item> + </item> + <item name="1" xsi:type="array"> + <item name="grand_creditmemo_total" xsi:type="string">606.20</item> + </item> </data> <data name="shippingAddress/dataset" xsi:type="string">US_address_1_without_email</data> <data name="shipping/shipping_service" xsi:type="string">Flat Rate</data> @@ -42,9 +66,6 @@ <data name="payment/method" xsi:type="string">braintree_paypal</data> <data name="configData" xsi:type="string">braintree, braintree_paypal, braintree_paypal_skip_order_review</data> <data name="data/items_data/0/qty" xsi:type="string">2</data> - <data name="refundData/items_data/0/qty" xsi:type="string">1</data> - <data name="order/dataset" xsi:type="string">default</data> - <data name="isCreditMemoPartial" xsi:type="string">Yes</data> <data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S1</data> <constraint name="Magento\Sales\Test\Constraint\AssertRefundSuccessCreateMessage" /> <constraint name="Magento\Sales\Test\Constraint\AssertRefundInCreditMemoTab" /> diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOnlineCreditMemoBraintreeTest.xml b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOnlineCreditMemoBraintreeTest.xml index 8eeec7908c78d0d6822446fe643f259336907320..2c1deb13024e23d5b8e5e152373cadbcd873fa98 100644 --- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOnlineCreditMemoBraintreeTest.xml +++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestCase/CreateOnlineCreditMemoBraintreeTest.xml @@ -28,14 +28,80 @@ <data name="creditCard/data/payment_code" xsi:type="string">braintree</data> <data name="configData" xsi:type="string">braintree</data> <data name="status" xsi:type="string">Closed</data> - <data name="refundedPrices" xsi:type="array"> - <item name="0" xsi:type="string">145.98</item> + <data name="order/data/refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="invoiceId" xsi:type="string">0</item> + </item> + </data> + <data name="order/data/price/refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="grand_creditmemo_total" xsi:type="string">145.98</item> + </item> + </data> + <data name="transactions/refund" xsi:type="array"> + <item name="transactionType" xsi:type="string">Refund</item> + <item name="statusIsClosed" xsi:type="string">Yes</item> + </data> + <constraint name="Magento\Sales\Test\Constraint\AssertRefundSuccessCreateMessage" /> + <constraint name="Magento\Sales\Test\Constraint\AssertRefundInCommentsHistory" /> + <constraint name="Magento\Sales\Test\Constraint\AssertOrderStatusIsCorrect" /> + <constraint name="Magento\Sales\Test\Constraint\AssertTransactionStatus" /> + </variation> + <variation name="CreateOnlineCreditMemoBraintreeTestVariation2" summary="Partial Refund an order placed through Braintree with Partial capture" ticketId="MAGETWO-38325"> + <data name="tag" xsi:type="string">test_type:3rd_party_test, severity:S1</data> + <data name="products" xsi:type="array"> + <item name="0" xsi:type="string">catalogProductSimple::product_10_dollar</item> + <item name="1" xsi:type="string">configurableProduct::with_one_option</item> + <item name="2" xsi:type="string">bundleProduct::bundle_fixed_100_dollar_product</item> + </data> + <data name="customer/dataset" xsi:type="string">default</data> + <data name="braintreeSandboxCustomer/dataset" xsi:type="string">braintree_sandbox_default</data> + <data name="taxRule" xsi:type="string">us_ca_ny_rule</data> + <data name="shippingAddress/dataset" xsi:type="string">US_address_1_without_email</data> + <data name="checkoutMethod" xsi:type="string">guest</data> + <data name="shipping" xsi:type="array"> + <item name="shipping_service" xsi:type="string">Flat Rate</item> + <item name="shipping_method" xsi:type="string">Fixed</item> + </data> + <data name="payment/method" xsi:type="string">braintree</data> + <data name="creditCard/dataset" xsi:type="string">visa_default</data> + <data name="creditCard/data/payment_code" xsi:type="string">braintree</data> + <data name="configData" xsi:type="string">braintree</data> + <data name="status" xsi:type="string">Processing</data> + <data name="order/data/refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="invoiceId" xsi:type="string">0</item> + <item name="items_data" xsi:type="array"> + <item name="1" xsi:type="array"> + <item name="qty" xsi:type="string">0</item> + </item> + </item> + </item> + <item name="1" xsi:type="array"> + <item name="invoiceId" xsi:type="string">0</item> + </item> + </data> + <data name="order/data/price/refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="grand_creditmemo_total" xsi:type="string">134.07</item> + </item> + <item name="1" xsi:type="array"> + <item name="grand_creditmemo_total" xsi:type="string">1.08</item> + </item> </data> <data name="transactions/refund" xsi:type="array"> <item name="transactionType" xsi:type="string">Refund</item> <item name="statusIsClosed" xsi:type="string">Yes</item> </data> - <data name="data/items_data/0/qty" xsi:type="string">-</data> + <data name="transactions/capture" xsi:type="array"> + <item name="transactionType" xsi:type="string">Capture</item> + <item name="statusIsClosed" xsi:type="string">Yes</item> + </data> + <data name="data/items_data" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="qty" xsi:type="string">0</item> + </item> + </data> <constraint name="Magento\Sales\Test\Constraint\AssertRefundSuccessCreateMessage" /> <constraint name="Magento\Sales\Test\Constraint\AssertRefundInCommentsHistory" /> <constraint name="Magento\Sales\Test\Constraint\AssertOrderStatusIsCorrect" /> diff --git a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/PlaceOrderWithPaypalStep.php b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/PlaceOrderWithPaypalStep.php index d61e2fff6337a4ddc3c616bd9dbc1ad2c8e0540e..93b4ae77e7cbfcff418d7e186bfffc7a5fd266b6 100644 --- a/dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/PlaceOrderWithPaypalStep.php +++ b/dev/tests/functional/tests/app/Magento/Braintree/Test/TestStep/PlaceOrderWithPaypalStep.php @@ -11,47 +11,69 @@ use Magento\Checkout\Test\Page\CheckoutOnepage; use Magento\Checkout\Test\Page\CheckoutOnepageSuccess; use Magento\Mtf\Fixture\FixtureFactory; use Magento\Mtf\TestStep\TestStepInterface; +use Magento\Sales\Test\Fixture\OrderInjectable; /** - * Class PlaceOrderWithPaypalStep + * Place order with Paypal in one page checkout. */ class PlaceOrderWithPaypalStep implements TestStepInterface { /** + * Onepage checkout page. + * * @var CheckoutOnepage */ private $checkoutOnepage; /** + * Assert that Order Grand Total is correct on checkout page review block. + * * @var AssertGrandTotalOrderReview */ private $assertGrandTotalOrderReview; /** + * Assert billing address is not present in selected payment method. + * * @var AssertBillingAddressAbsentInPayment */ private $assertBillingAddressAbsentInPayment; /** + * One page checkout success page. + * * @var CheckoutOnepageSuccess */ private $checkoutOnepageSuccess; /** + * Price array. + * * @var array */ private $prices; /** + * Factory for fixtures. + * * @var FixtureFactory */ private $fixtureFactory; /** + * Array of product entities. + * * @var array */ private $products; + /** + * Fixture OrderInjectable. + * + * @var OrderInjectable + */ + private $order; + /** * @param CheckoutOnepage $checkoutOnepage * @param AssertGrandTotalOrderReview $assertGrandTotalOrderReview @@ -59,7 +81,8 @@ class PlaceOrderWithPaypalStep implements TestStepInterface * @param CheckoutOnepageSuccess $checkoutOnepageSuccess * @param FixtureFactory $fixtureFactory * @param array $products - * @param array $prices + * @param array|null $prices + * @param OrderInjectable|null $order */ public function __construct( CheckoutOnepage $checkoutOnepage, @@ -68,7 +91,8 @@ class PlaceOrderWithPaypalStep implements TestStepInterface CheckoutOnepageSuccess $checkoutOnepageSuccess, FixtureFactory $fixtureFactory, array $products, - array $prices = [] + array $prices = [], + OrderInjectable $order = null ) { $this->checkoutOnepage = $checkoutOnepage; $this->assertGrandTotalOrderReview = $assertGrandTotalOrderReview; @@ -77,10 +101,13 @@ class PlaceOrderWithPaypalStep implements TestStepInterface $this->fixtureFactory = $fixtureFactory; $this->products = $products; $this->prices = $prices; + $this->order = $order; } /** - * @inheritdoc + * Place order after checking order totals on review step. + * + * @return array */ public function run() { @@ -94,15 +121,15 @@ class PlaceOrderWithPaypalStep implements TestStepInterface ->getSelectedPaymentMethodBlock() ->clickPayWithPaypal(); $this->checkoutOnepage->getBraintreePaypalBlock()->process($parentWindow); - + $data = [ + 'entity_id' => ['products' => $this->products] + ]; + $orderData = $this->order !== null ? $this->order->getData() : []; $order = $this->fixtureFactory->createByCode( 'orderInjectable', - [ - 'data' => [ - 'entity_id' => ['products' => $this->products] - ] - ] + ['data' => array_merge($data, $orderData)] ); + return [ 'orderId' => $this->checkoutOnepageSuccess->getSuccessBlock()->getGuestOrderId(), 'order' => $order diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart/Items.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart/Items.php index 6b270efcb011e5ac23248c96031ab85e2e3ebe9c..4a30bee7265715fa1e9d615d82987fdd7412f7e4 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart/Items.php +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Fixture/Cart/Items.php @@ -34,13 +34,6 @@ class Items extends DataSource { $this->params = $params; $this->products = isset($data['products']) ? $data['products'] : []; - - foreach ($this->products as $product) { - $classItem = 'Magento\\' . $this->getModuleName($product) . '\Test\Fixture\Cart\Item'; - $item = ObjectManager::getInstance()->create($classItem, ['product' => $product]); - - $this->data[] = $item; - } } /** @@ -55,6 +48,24 @@ class Items extends DataSource return isset($match[1]) ? $match[1] : ''; } + /** + * Return prepared dataset. + * + * @param null|string $key + * @return array + */ + public function getData($key = null) + { + foreach ($this->products as $product) { + $classItem = 'Magento\\' . $this->getModuleName($product) . '\Test\Fixture\Cart\Item'; + $item = ObjectManager::getInstance()->create($classItem, ['product' => $product]); + $item->getData(); + $this->data[] = $item; + } + + return $this->data; + } + /** * Get source products. * diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/PlaceOrderStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/PlaceOrderStep.php index 8beada29036b8a3cf2ff367a0b30b59b78faf0e8..7da3383014c28479e5a9b42b09c195343f2f74c6 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/PlaceOrderStep.php +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/PlaceOrderStep.php @@ -11,6 +11,7 @@ use Magento\Checkout\Test\Page\CheckoutOnepage; use Magento\Checkout\Test\Page\CheckoutOnepageSuccess; use Magento\Mtf\Fixture\FixtureFactory; use Magento\Mtf\TestStep\TestStepInterface; +use Magento\Sales\Test\Fixture\OrderInjectable; /** * Place order in one page checkout. @@ -59,19 +60,28 @@ class PlaceOrderStep implements TestStepInterface */ private $products; + /** + * Fixture OrderInjectable. + * + * @var OrderInjectable + */ + private $order; + /** * @param CheckoutOnepage $checkoutOnepage * @param AssertGrandTotalOrderReview $assertGrandTotalOrderReview * @param CheckoutOnepageSuccess $checkoutOnepageSuccess * @param FixtureFactory $fixtureFactory - * @param array $products - * @param array $prices + * @param OrderInjectable|null $order + * @param array|null $products + * @param array|null $prices */ public function __construct( CheckoutOnepage $checkoutOnepage, AssertGrandTotalOrderReview $assertGrandTotalOrderReview, CheckoutOnepageSuccess $checkoutOnepageSuccess, FixtureFactory $fixtureFactory, + OrderInjectable $order = null, array $products = [], array $prices = [] ) { @@ -79,6 +89,7 @@ class PlaceOrderStep implements TestStepInterface $this->assertGrandTotalOrderReview = $assertGrandTotalOrderReview; $this->checkoutOnepageSuccess = $checkoutOnepageSuccess; $this->fixtureFactory = $fixtureFactory; + $this->order = $order; $this->products = $products; $this->prices = $prices; } @@ -95,14 +106,14 @@ class PlaceOrderStep implements TestStepInterface } $this->checkoutOnepage->getPaymentBlock()->getSelectedPaymentMethodBlock()->clickPlaceOrder(); $orderId = $this->checkoutOnepageSuccess->getSuccessBlock()->getGuestOrderId(); + $data = [ + 'id' => $orderId, + 'entity_id' => ['products' => $this->products] + ]; + $orderData = $this->order !== null ? $this->order->getData() : []; $order = $this->fixtureFactory->createByCode( 'orderInjectable', - [ - 'data' => [ - 'id' => $orderId, - 'entity_id' => ['products' => $this->products], - ] - ] + ['data' => array_merge($data, $orderData)] ); return [ diff --git a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoTest.xml b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoTest.xml index 664e1a070cbc2bc6f78291636f9ddf5a0ed4ebd3..215764edfb49d069a46856e45df141315c1a0c82 100644 --- a/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoTest.xml +++ b/dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/CreateOnlineCreditMemoTest.xml @@ -11,8 +11,15 @@ <data name="products/0" xsi:type="string">catalogProductSimple::product_10_dollar</data> <data name="customer/dataset" xsi:type="string">default</data> <data name="checkoutMethod" xsi:type="string">guest</data> - <data name="refundedPrices" xsi:type="array"> - <item name="0" xsi:type="string">15.00</item> + <data name="order/data/refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="invoiceId" xsi:type="string">0</item> + </item> + </data> + <data name="order/data/price/refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="grand_creditmemo_total" xsi:type="string">15.00</item> + </item> </data> <data name="shippingAddress/dataset" xsi:type="string">US_address_1_without_email</data> <data name="shipping/shipping_service" xsi:type="string">Flat Rate</data> diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractForm.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractForm.php index a309aa871934fc57ef53ec5f1b1a2bfd4817023d..8d93b7c18a7ca8279630695fe5907463bdc19239 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractForm.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractForm.php @@ -68,8 +68,9 @@ abstract class AbstractForm extends Form { $data = $this->prepareData($data); if (isset($data['items_data']) && $products !== null) { - foreach ($products as $key => $product) { - $this->getItemsBlock()->getItemProductBlock($product)->fillProduct($data['items_data'][$key]); + foreach ($data['items_data'] as $key => $item) { + $productSku = $products[$key]->getData()['sku']; + $this->getItemsBlock()->getItemProductBlock($productSku)->fillProduct($item); } } } diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItems.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItems.php index 38ad9139d4fdb2bf28c40d8420db890dcda77d3a..012cac3848a8ee75ac8e63e48b9fd3e0f68a0fbd 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItems.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItems.php @@ -111,7 +111,7 @@ class AbstractItems extends Block * @param ElementInterface $item * @return null|int */ - private function getQty(ElementInterface $item) + protected function getQty(ElementInterface $item) { $qty = null; $elements = $item->getElements($this->qty); @@ -127,7 +127,7 @@ class AbstractItems extends Block * @param ElementInterface $item * @return string */ - private function getSku(ElementInterface $item) + protected function getSku(ElementInterface $item) { $itemContent = $item->find($this->sku)->getText(); $itemContent = preg_replace('/\n|\r/', '', $itemContent); diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItemsNewBlock.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItemsNewBlock.php index 2ba8fe00f1e718b94e21f3a80b0a03a66150bfcc..981101ee74927b56487eb74fff0b299978b98111 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItemsNewBlock.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/AbstractItemsNewBlock.php @@ -8,38 +8,36 @@ namespace Magento\Sales\Test\Block\Adminhtml\Order; use Magento\Sales\Test\Block\Adminhtml\Order\AbstractForm\Product; use Magento\Mtf\Block\Block; -use Magento\Mtf\Fixture\FixtureInterface; /** - * Class AbstractItemsNewBlock - * Items block on Credit Memo, Invoice, Shipment new pages + * Items block on Credit Memo, Invoice, Shipment new pages. */ abstract class AbstractItemsNewBlock extends Block { /** - * Item product row selector + * Item product row selector. * * @var string */ protected $productItem = '//tr[contains(.,"%s")]'; /** - * 'Update Qty's' button css selector + * 'Update Qty's' button css selector. * * @var string */ protected $updateQty = '.update-button'; /** - * Get item product block + * Get item product block. * - * @param FixtureInterface $product + * @param string $productSku * @return Product */ - abstract public function getItemProductBlock(FixtureInterface $product); + abstract public function getItemProductBlock($productSku); /** - * Click update qty button + * Click update qty button. * * @return void */ diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form/Items.php index 52ff585cc43d627db53fd6ba36523cc8c670a328..a01805e85c74e062cb5ecd23828059c50fb41bac 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form/Items.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Creditmemo/Form/Items.php @@ -9,7 +9,6 @@ namespace Magento\Sales\Test\Block\Adminhtml\Order\Creditmemo\Form; use Magento\Sales\Test\Block\Adminhtml\Order\Creditmemo\Form\Items\Product; use Magento\Mtf\Block\Block; use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; /** * Credit Memo Items block on Credit Memo new page. @@ -33,12 +32,12 @@ class Items extends Block /** * Get item product block. * - * @param FixtureInterface $product + * @param string $productSku * @return Product */ - public function getItemProductBlock(FixtureInterface $product) + public function getItemProductBlock($productSku) { - $selector = sprintf($this->productItems, $product->getSku()); + $selector = sprintf($this->productItems, $productSku); return $this->blockFactory->create( \Magento\Sales\Test\Block\Adminhtml\Order\Creditmemo\Form\Items\Product::class, ['element' => $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)] diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form/Items.php index baee80abd72dfd04b11223d23f2186bb2589a5a8..bb41662eadd837db00a8c661376fb62d6529b50d 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form/Items.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Invoice/Form/Items.php @@ -9,23 +9,21 @@ namespace Magento\Sales\Test\Block\Adminhtml\Order\Invoice\Form; use Magento\Sales\Test\Block\Adminhtml\Order\AbstractItemsNewBlock; use Magento\Sales\Test\Block\Adminhtml\Order\Invoice\Form\Items\Product; use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; /** - * Class Items - * Block for items to invoice on new invoice page + * Block for items to invoice on new invoice page. */ class Items extends AbstractItemsNewBlock { /** - * Get item product block + * Get item product block. * - * @param FixtureInterface $product + * @param string $productSku * @return Product */ - public function getItemProductBlock(FixtureInterface $product) + public function getItemProductBlock($productSku) { - $selector = sprintf($this->productItem, $product->getSku()); + $selector = sprintf($this->productItem, $productSku); return $this->blockFactory->create( \Magento\Sales\Test\Block\Adminhtml\Order\Invoice\Form\Items\Product::class, ['element' => $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)] diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Shipment/View/Items.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Shipment/View/Items.php index 0988649b5df2b21680196191d1317ff8f9e51eae..8ba05c57137ec41a05694b96f92ffddb0bb5ee9e 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Shipment/View/Items.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/Shipment/View/Items.php @@ -9,13 +9,12 @@ namespace Magento\Sales\Test\Block\Adminhtml\Order\Shipment\View; use Magento\Sales\Test\Block\Adminhtml\Order\AbstractItems; /** - * Class Items - * Shipment Items block on Shipment view page + * Shipment Items block on Shipment view page. */ class Items extends AbstractItems { /** - * Get items data + * Get items data. * * @return array */ @@ -27,8 +26,9 @@ class Items extends AbstractItems foreach ($items as $item) { $itemData = []; - $itemData += $this->parseProductName($item->find($this->product)->getText()); - $itemData['qty'] = $item->find($this->qty)->getText(); + $itemData['product'] = preg_replace('/\n|\r/', '', $item->find($this->title)->getText()); + $itemData['sku'] = $this->getSku($item); + $itemData['qty'] = $this->getQty($item); $data[] = $itemData; } diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos/Grid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos/Grid.php index 1cfad8033bd5755df01975559682db88c4b26d61..495bd7bcdab29682659608cb68e2dd2bc0b60ff2 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos/Grid.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Tab/CreditMemos/Grid.php @@ -70,6 +70,7 @@ class Grid extends DataGrid */ public function getCreditMemoId() { + $this->resetFilter(); $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); return $this->_rootElement->find($this->creditMemoId)->getText(); } @@ -82,6 +83,7 @@ class Grid extends DataGrid public function getIds() { $result = []; + $this->resetFilter(); $this->waitForElementNotVisible($this->loader, Locator::SELECTOR_XPATH); $creditMemoIds = $this->_rootElement->getElements($this->creditMemoId); foreach ($creditMemoIds as $creditMemoId) { diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCommentsHistory.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCommentsHistory.php index 80ab8074410938752d02bc89d2dd415ba98ab42f..2b68473a7fba325385dd99f7b608e0b55b4a9417 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCommentsHistory.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCommentsHistory.php @@ -6,6 +6,7 @@ namespace Magento\Sales\Test\Constraint; +use Magento\Sales\Test\Fixture\OrderInjectable; use Magento\Sales\Test\Page\Adminhtml\SalesOrderView; use Magento\Sales\Test\Page\Adminhtml\OrderIndex; use Magento\Mtf\Constraint\AbstractConstraint; @@ -23,17 +24,17 @@ class AssertRefundInCommentsHistory extends AbstractConstraint /** * Assert that comment about refunded amount exists in Comments History section on order page in Admin. * + * @param OrderInjectable $order * @param SalesOrderView $salesOrderView * @param OrderIndex $salesOrder * @param string $orderId - * @param array $refundedPrices * @return void */ public function processAssert( + OrderInjectable $order, SalesOrderView $salesOrderView, OrderIndex $salesOrder, - $orderId, - array $refundedPrices + $orderId ) { $salesOrder->open(); $salesOrder->getSalesOrderGrid()->searchAndOpen(['id' => $orderId]); @@ -49,9 +50,10 @@ class AssertRefundInCommentsHistory extends AbstractConstraint } $comments = array_values($comments); + $refundedPrices = $order->getPrice()['refund']; foreach ($refundedPrices as $key => $refundedPrice) { \PHPUnit_Framework_Assert::assertRegExp( - sprintf(self::REFUNDED_AMOUNT_PATTERN, $refundedPrice), + sprintf(self::REFUNDED_AMOUNT_PATTERN, $refundedPrice['grand_creditmemo_total']), $comments[$key]['comment'], 'Incorrect refunded amount value for the order #' . $orderId ); diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCreditMemoTab.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCreditMemoTab.php index f42e1de5ad13c98f40f1adff2f7c0efe99d262b4..67f023784c6fb6a955d0887639e6d1a4c9e6480a 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCreditMemoTab.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInCreditMemoTab.php @@ -37,7 +37,7 @@ class AssertRefundInCreditMemoTab extends AbstractConstraint $salesOrderView->getOrderForm()->openTab('creditmemos'); /** @var Grid $grid */ $grid = $salesOrderView->getOrderForm()->getTab('creditmemos')->getGridBlock(); - $amount = $order->getPrice(); + $amount = $order->getPrice()['refund']; foreach ($ids['creditMemoIds'] as $key => $creditMemoId) { $filter = [ 'id' => $creditMemoId, diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInRefundsGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInRefundsGrid.php index 5b63d92a17e8e0e20f60455306cba2dd713c8290..bf61d1018be038a69040e8f84145a86c19bd1e12 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInRefundsGrid.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundInRefundsGrid.php @@ -11,13 +11,12 @@ use Magento\Sales\Test\Page\Adminhtml\CreditMemoIndex; use Magento\Mtf\Constraint\AbstractConstraint; /** - * Class AssertRefundInRefundsGrid - * Assert that refund is present in the 'Refunds' grid with correct ID, order ID, refunded amount + * Assert that refund is present in the 'Refunds' grid with correct ID, order ID, refunded amount. */ class AssertRefundInRefundsGrid extends AbstractConstraint { /** - * Assert that refund is present in the 'Refunds' grid with correct ID, order ID, refunded amount + * Assert that refund is present in the 'Refunds' grid with correct ID, order ID, refunded amount. * * @param CreditMemoIndex $creditMemoIndex * @param OrderInjectable $order @@ -27,7 +26,7 @@ class AssertRefundInRefundsGrid extends AbstractConstraint public function processAssert(CreditMemoIndex $creditMemoIndex, OrderInjectable $order, array $ids) { $creditMemoIndex->open(); - $amount = $order->getPrice(); + $amount = $order->getPrice()['refund']; $orderId = $order->getId(); foreach ($ids['creditMemoIds'] as $key => $creditMemoId) { $filter = [ @@ -47,7 +46,7 @@ class AssertRefundInRefundsGrid extends AbstractConstraint } /** - * Returns a string representation of the object + * Returns a string representation of the object. * * @return string */ diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundNotInRefundsGrid.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundNotInRefundsGrid.php index c754d6529c0ef04a1a6f4e307cd151de917eb871..ffd6e10e8aa0aa5c9770c611dead8b9091eb2a34 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundNotInRefundsGrid.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundNotInRefundsGrid.php @@ -26,7 +26,7 @@ class AssertRefundNotInRefundsGrid extends AbstractConstraint public function processAssert(CreditMemoIndex $creditMemoIndex, OrderInjectable $order, array $ids) { $creditMemoIndex->open(); - $amount = $order->getPrice(); + $amount = $order->getPrice()['refund']; $orderId = $order->getId(); foreach ($ids['creditMemoIds'] as $key => $creditMemoId) { $filter = [ diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundedGrandTotalOnFrontend.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundedGrandTotalOnFrontend.php index 83e6082f1054d71b2697aa40375ba53726d13bd6..a6437c64dfdaa970e91d1dff28a99e7f055eff84 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundedGrandTotalOnFrontend.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Constraint/AssertRefundedGrandTotalOnFrontend.php @@ -12,12 +12,12 @@ use Magento\Sales\Test\Page\OrderHistory; use Magento\Sales\Test\Page\CustomerOrderView; /** - * Assert that refunded grand total is equal to data from fixture on My Account page + * Assert that refunded grand total is equal to data from fixture on My Account page. */ class AssertRefundedGrandTotalOnFrontend extends AbstractAssertOrderOnFrontend { /** - * Assert that refunded grand total is equal to data from fixture on My Account page + * Assert that refunded grand total is equal to data from fixture on My Account page. * * @param OrderHistory $orderHistory * @param OrderInjectable $order @@ -38,14 +38,14 @@ class AssertRefundedGrandTotalOnFrontend extends AbstractAssertOrderOnFrontend $customerOrderView->getOrderViewBlock()->openLinkByName('Refunds'); foreach ($ids['creditMemoIds'] as $key => $creditMemoId) { \PHPUnit_Framework_Assert::assertEquals( - number_format($order->getPrice()[$key]['grand_creditmemo_total'], 2), + number_format($order->getPrice()['refund'][$key]['grand_creditmemo_total'], 2), $creditMemoView->getCreditMemoBlock()->getItemBlock($creditMemoId)->getGrandTotal() ); } } /** - * Returns a string representation of the object + * Returns a string representation of the object. * * @return string */ diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable.xml index 115ec14741abaf88a4035240ce7a8058db473762..056fcc7f9e6de9bf2f5e740c1c2c1cb134d7b227 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable.xml +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Fixture/OrderInjectable.xml @@ -206,5 +206,6 @@ <field name="gw_card_tax_refunded" is_required="" /> <field name="id" /> <field name="price" is_required="1" group="null" repository="Magento\Sales\Test\Repository\OrderInjectable\Price" /> + <field name="refund" is_required="" /> </fixture> </config> diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable/Price.xml b/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable/Price.xml index 64e2f8808172492ca82dc8cb545f33a0554a3fc5..8c3f31343a9184e05cb5c26f490b8807b417a06b 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable/Price.xml +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Repository/OrderInjectable/Price.xml @@ -34,20 +34,27 @@ </dataset> <dataset name="full_refund"> - <field name="0" xsi:type="array"> - <item name="grand_creditmemo_total" xsi:type="string">565</item> + <field name="refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="grand_creditmemo_total" xsi:type="string">565</item> + </item> </field> </dataset> <dataset name="full_refund_with_zero_shipping_refund"> - <field name="0" xsi:type="array"> - <item name="grand_creditmemo_total" xsi:type="string">555</item> + <field name="refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="grand_creditmemo_total" xsi:type="string">555</item> + </item> </field> </dataset> + <dataset name="partial_refund"> - <field name="0" xsi:type="array"> - <item name="grand_creditmemo_total" xsi:type="string">110</item> + <field name="refund" xsi:type="array"> + <item name="0" xsi:type="array"> + <item name="grand_creditmemo_total" xsi:type="string">110</item> + </item> </field> </dataset> diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOnlineCreditMemoStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOnlineCreditMemoStep.php index 84491c1992e5d682c59a1848516fcf084ce42507..39c1caf03caa44e860fe294ecdb3d44d6b0788aa 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOnlineCreditMemoStep.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/CreateOnlineCreditMemoStep.php @@ -6,6 +6,7 @@ namespace Magento\Sales\Test\TestStep; +use Magento\Checkout\Test\Fixture\Cart; use Magento\Mtf\TestStep\TestStepInterface; use Magento\Sales\Test\Fixture\OrderInjectable; use Magento\Sales\Test\Page\Adminhtml\OrderCreditMemoNew; @@ -61,7 +62,14 @@ class CreateOnlineCreditMemoStep implements TestStepInterface private $orderInvoiceView; /** - * @construct + * Checkout Cart fixture. + * + * @var Cart + */ + private $cart; + + /** + * @param Cart $cart * @param OrderIndex $orderIndex * @param SalesOrderView $salesOrderView * @param OrderInjectable $order @@ -70,6 +78,7 @@ class CreateOnlineCreditMemoStep implements TestStepInterface * @param array|null refundData [optional] */ public function __construct( + Cart $cart, OrderIndex $orderIndex, SalesOrderView $salesOrderView, OrderInjectable $order, @@ -77,12 +86,13 @@ class CreateOnlineCreditMemoStep implements TestStepInterface OrderCreditMemoNew $orderCreditMemoNew, $refundData = null ) { + $this->cart = $cart; $this->orderIndex = $orderIndex; $this->salesOrderView = $salesOrderView; $this->order = $order; + $this->orderInvoiceView = $orderInvoiceView; $this->orderCreditMemoNew = $orderCreditMemoNew; $this->refundData = $refundData; - $this->orderInvoiceView = $orderInvoiceView; } /** @@ -94,19 +104,20 @@ class CreateOnlineCreditMemoStep implements TestStepInterface { $this->orderIndex->open(); $this->orderIndex->getSalesOrderGrid()->searchAndOpen(['id' => $this->order->getId()]); - /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Invoices\Grid $invoicesGrid */ - $invoicesGrid = $this->salesOrderView->getOrderForm()->getTab('invoices')->getGridBlock(); - $this->salesOrderView->getOrderForm()->openTab('invoices'); - $invoicesGrid->viewInvoice(); - $this->salesOrderView->getPageActions()->orderInvoiceCreditMemo(); - if (!empty($this->refundData)) { + $refundsData = $this->order->getRefund(); + foreach ($refundsData as $refundData) { + /** @var \Magento\Sales\Test\Block\Adminhtml\Order\View\Tab\Invoices\Grid $invoicesGrid */ + $invoicesGrid = $this->salesOrderView->getOrderForm()->getTab('invoices')->getGridBlock(); + $this->salesOrderView->getOrderForm()->openTab('invoices'); + $invoicesGrid->viewInvoice(); + $this->salesOrderView->getPageActions()->orderInvoiceCreditMemo(); $this->orderCreditMemoNew->getFormBlock()->fillProductData( - $this->refundData, - $this->order->getEntityId()['products'] + $refundData, + $this->cart->getItems() ); $this->orderCreditMemoNew->getFormBlock()->updateQty(); + $this->orderCreditMemoNew->getFormBlock()->submit(); } - $this->orderCreditMemoNew->getFormBlock()->submit(); return ['ids' => ['creditMemoIds' => $this->getCreditMemoIds()]]; } diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php index 3967b6571baa6fb2255b4629db9b89ada1e5d04c..3390d579cc3a712fb283ecc95717f64df71abbf9 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/TestStep/SubmitOrderStep.php @@ -61,7 +61,6 @@ class SubmitOrderStep implements TestStepInterface private $products; /** - * @constructor * @param OrderCreateIndex $orderCreateIndex * @param SalesOrderView $salesOrderView * @param FixtureFactory $fixtureFactory @@ -81,6 +80,7 @@ class SubmitOrderStep implements TestStepInterface $this->salesOrderView = $salesOrderView; $this->fixtureFactory = $fixtureFactory; $this->customer = $customer; + $this->products = $products; $this->billingAddress = $billingAddress; $this->products = $products; } diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form.php index f46b812ef0def2477839e83c0e8c8d7635c1dc6a..38fcff9a1de6ab352b2ee67d0dcd686065be6c6c 100644 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form.php +++ b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form.php @@ -74,7 +74,7 @@ class Form extends AbstractForm } if (isset($data['items_data']) && $products !== null) { foreach ($products as $key => $product) { - $this->getItemsBlock()->getItemProductBlock($product)->fillProduct($data['items_data'][$key]); + $this->getItemsBlock()->getItemProductBlock($product->getSku())->fillProduct($data['items_data'][$key]); } } } diff --git a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form/Items.php b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form/Items.php index 132c56c7d9c3ebd2101423fc2d2e049336996ddd..9ff65b75ffccee9c7409c6a6a2832798578c6937 100644 --- a/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form/Items.php +++ b/dev/tests/functional/tests/app/Magento/Shipping/Test/Block/Adminhtml/Form/Items.php @@ -9,7 +9,6 @@ namespace Magento\Shipping\Test\Block\Adminhtml\Form; use Magento\Sales\Test\Block\Adminhtml\Order\AbstractItemsNewBlock; use Magento\Shipping\Test\Block\Adminhtml\Form\Items\Product; use Magento\Mtf\Client\Locator; -use Magento\Mtf\Fixture\FixtureInterface; /** * Adminhtml items to ship block. @@ -19,12 +18,12 @@ class Items extends AbstractItemsNewBlock /** * Get item product block. * - * @param FixtureInterface $product + * @param string $productSku * @return Product */ - public function getItemProductBlock(FixtureInterface $product) + public function getItemProductBlock($productSku) { - $selector = sprintf($this->productItem, $product->getSku()); + $selector = sprintf($this->productItem, $productSku); return $this->blockFactory->create( \Magento\Shipping\Test\Block\Adminhtml\Form\Items\Product::class, ['element' => $this->_rootElement->find($selector, Locator::SELECTOR_XPATH)]