diff --git a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest.xml b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest.xml index 9f4a5e4bb71fea9293612125157757f7e3d965da..68e84930fcd0591650874f80c6fa981f0ced9d42 100644 --- a/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest.xml +++ b/dev/tests/functional/tests/app/Magento/Catalog/Test/TestCase/Product/CreateSimpleProductEntityTest.xml @@ -317,6 +317,7 @@ <constraint name="Magento\Catalog\Test\Constraint\AssertProductTierPriceOnProductPage" /> </variation> <variation name="CreateSimpleProductEntityTestVariation18"> + <data name="issue" xsi:type="string">MAGETWO-60470: [Import Custom options] An error occurs on attempt to save the product with imported options</data> <data name="description" xsi:type="string">Create product wit suite of custom options</data> <data name="product/data/url_key" xsi:type="string">simple-product-%isolation%</data> <data name="product/data/name" xsi:type="string">Simple Product %isolation%</data> diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method/Billing.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method/Billing.php index 167767e518a48bb4879c076d9de6c0fd95ece128..d93c24f2641b0f2f326b60e5478537b242a51b47 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method/Billing.php +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Payment/Method/Billing.php @@ -36,6 +36,20 @@ class Billing extends Form */ protected $sameAsShippingCheckbox = '[name="billing-address-same-as-shipping"]'; + /** + * New address select selector. + * + * @var string + */ + private $newAddressSelect = '[name="billing_address_id"]'; + + /** + * New address option value. + * + * @var string + */ + private $newAddressOption = 'New Address'; + /** * Fill billing address. * @@ -44,6 +58,10 @@ class Billing extends Form */ public function fillBilling(Address $billingAddress) { + $select = $this->_rootElement->find($this->newAddressSelect, Locator::SELECTOR_CSS, 'select'); + if ($select && $select->isVisible()) { + $select->setValue($this->newAddressOption); + } $this->fill($billingAddress); $this->clickUpdate(); $this->waitForElementNotVisible($this->waitElement); diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.php index b5a161257c7b7956f9e6a9835dac7ce9ba3d873f..fe844bc08b0017b2aa1cabfe4a7882b3733c118a 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.php +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/Shipping.php @@ -141,6 +141,17 @@ class Shipping extends Form return $text == $address; } + /** + * Checks if new address button is visible. + * + * @return bool + */ + public function isPopupNewAddressButtonVisible() + { + $button = $this->_rootElement->find($this->popupSelector); + return $button->isVisible(); + } + /** * Clicks new address button. * diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.php new file mode 100644 index 0000000000000000000000000000000000000000..fa6a8fa2a28613094139eb6cb91126ab5e85763b --- /dev/null +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.php @@ -0,0 +1,32 @@ +<?php +/** + * Copyright © 2016 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Checkout\Test\Block\Onepage; + +use Magento\Mtf\Block\Form; + +/** + * Checkout new shipping address popup block. + */ +class ShippingPopup extends Form +{ + /** + * Save address button selector. + * + * @var string + */ + private $saveAddressButton = '.action-save-address'; + + /** + * Click on save address button. + * + * @return void + */ + public function clickSaveAddressButton() + { + $this->browser->find($this->saveAddressButton)->click(); + } +} diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.xml new file mode 100644 index 0000000000000000000000000000000000000000..13403b792684512c9741bca74a78f7c84036eb48 --- /dev/null +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Onepage/ShippingPopup.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" ?> +<!-- +/** + * Copyright © 2016 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<mapping strict="0"> + <fields> + <firstname /> + <lastname /> + <company /> + <street> + <selector>input[name="street[0]"]</selector> + </street> + <city /> + <region_id> + <input>select</input> + </region_id> + <country_id> + <input>select</input> + </country_id> + <telephone /> + <postcode /> + </fields> +</mapping> diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml b/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml index 11d4579414a041664975c522cd119be2671719d3..0ab3bbb2c2cfcb01330fecd582bb235ed7805068 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/Page/CheckoutOnepage.xml @@ -12,6 +12,7 @@ <block name="loginBlock" class="Magento\Checkout\Test\Block\Onepage\Login" locator="[data-role='email-with-possible-login']" strategy="css selector" /> <block name="linksBlock" class="Magento\Theme\Test\Block\Links" locator=".header .links" strategy="css selector" /> <block name="shippingBlock" class="Magento\Checkout\Test\Block\Onepage\Shipping" locator="#checkout-step-shipping" strategy="css selector" /> + <block name="shippingAddressPopupBlock" class="Magento\Checkout\Test\Block\Onepage\ShippingPopup" locator="#opc-new-shipping-address" strategy="css selector" /> <block name="shippingMethodBlock" class="Magento\Checkout\Test\Block\Onepage\Shipping\Method" locator="#checkout-step-shipping_method" strategy="css selector" /> <block name="paymentBlock" class="Magento\Checkout\Test\Block\Onepage\Payment" locator="#checkout-step-payment" strategy="css selector" /> <block name="discountCodesBlock" class="Magento\Checkout\Test\Block\Onepage\Payment\DiscountCodes" locator=".discount-code" strategy="css selector" /> diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.php index 58f27dbb540c594835e6d2176d2a8af6454e24f7..25922102e1269c95280697db6c3175c36d6253fc 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.php +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.php @@ -33,9 +33,8 @@ use Magento\Mtf\TestCase\Scenario; * 14. Perform assertions. * * @group One_Page_Checkout - * @ZephyrId MAGETWO-27485, MAGETWO-12412, MAGETWO-12429, MAGETWO-42598 + * @ZephyrId MAGETWO-27485, MAGETWO-12412, MAGETWO-12429, MAGETWO-49917, MAGETWO-27485 * @ZephyrId MAGETWO-12444, MAGETWO-12848, MAGETWO-12849, MAGETWO-12850 - * @ZephyrId MAGETWO-42547, MAGETWO-42599, MAGETWO-49917, MAGETWO-27485 */ class OnePageCheckoutTest extends Scenario { diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingAddressStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingAddressStep.php index ce00cf446b3ad70723ce380dbe6fad2057e790f2..1c4e407fb8c24391da8ecf4498e1702adb0d254b 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingAddressStep.php +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/FillShippingAddressStep.php @@ -94,7 +94,15 @@ class FillShippingAddressStep implements TestStepInterface { $shippingAddress = null; if ($this->shippingAddress) { - $this->checkoutOnepage->getShippingBlock()->fill($this->shippingAddress); + $shippingBlock = $this->checkoutOnepage->getShippingBlock(); + if ($shippingBlock->isPopupNewAddressButtonVisible()) { + $shippingBlock->clickPopupNewAddressButton(); + $this->checkoutOnepage->getShippingAddressPopupBlock() + ->fill($this->shippingAddress) + ->clickSaveAddressButton(); + } else { + $shippingBlock->fill($this->shippingAddress); + } $shippingAddress = $this->shippingAddress; } if (isset($this->shippingAddressCustomer['new'])) { diff --git a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/SelectCheckoutMethodStep.php b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/SelectCheckoutMethodStep.php index c63a52b7ed67ed72cc2550eeb1fed734ccf7a182..5cb5b83daadb95942acdd3392a43df70719e93e2 100644 --- a/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/SelectCheckoutMethodStep.php +++ b/dev/tests/functional/tests/app/Magento/Checkout/Test/TestStep/SelectCheckoutMethodStep.php @@ -110,6 +110,11 @@ class SelectCheckoutMethodStep implements TestStepInterface $this->checkoutOnepage->getLoginBlock()->loginCustomer($this->customer); } } + + if ($this->checkoutMethod === 'sign_in') { + $this->checkoutOnepage->getAuthenticationWrapperBlock()->signInLinkClick(); + $this->checkoutOnepage->getAuthenticationWrapperBlock()->loginCustomer($this->customer); + } } /** @@ -126,13 +131,15 @@ class SelectCheckoutMethodStep implements TestStepInterface } /** - * Logout customer on fronted. + * Logout customer on frontend. * * @return void */ public function cleanup() { - if ($this->checkoutMethod === 'login' || $this->checkoutMethod === 'register_before_checkout') { + if ($this->checkoutMethod === 'login' || + $this->checkoutMethod === 'sign_in' || + $this->checkoutMethod === 'register_before_checkout') { $this->logoutCustomerOnFrontend->run(); } } diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Address.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Address.xml index 41db01910b76342e0c25c85151ca7e59812864c4..8baa7ce0d9310f7e2d7a17fab8c904530cf25629 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Address.xml +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Address.xml @@ -237,7 +237,7 @@ <field name="street" xsi:type="string">Augsburger Strabe 41</field> <field name="postcode" xsi:type="string">10789</field> <field name="country_id" xsi:type="string">Germany</field> - <field name="region_id" xsi:type="string">Berlin</field> + <field name="region" xsi:type="string">Berlin</field> <field name="telephone" xsi:type="string">333-33-333-33</field> </dataset> diff --git a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Customer.xml b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Customer.xml index f0e3c5a898b994df589beffce85f12341e9b8bfb..3be7447c91dad863564835d08b459b6addfd86f5 100644 --- a/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Customer.xml +++ b/dev/tests/functional/tests/app/Magento/Customer/Test/Repository/Customer.xml @@ -197,5 +197,19 @@ <item name="dataset" xsi:type="string">UK_address_default_billing, US_address_default_shipping</item> </field> </dataset> + + <dataset name="customer_US_DE_UK"> + <field name="firstname" xsi:type="string">John</field> + <field name="lastname" xsi:type="string">Doe%isolation%</field> + <field name="group_id" xsi:type="array"> + <item name="dataset" xsi:type="string">General</item> + </field> + <field name="email" xsi:type="string">JohnDoe_%isolation%@example.com</field> + <field name="password" xsi:type="string">123123^q</field> + <field name="password_confirmation" xsi:type="string">123123^q</field> + <field name="address" xsi:type="array"> + <item name="dataset" xsi:type="string">US_address, DE_address, UK_address</item> + </field> + </dataset> </repository> </config> diff --git a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Addresses.php b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Addresses.php index 6d92327ef92d435946984ad6f3e4462e1192433c..063f3f0d2a566bfc2443dc875324daec7f26c8a9 100644 --- a/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Addresses.php +++ b/dev/tests/functional/tests/app/Magento/Sales/Test/Block/Adminhtml/Order/View/Addresses.php @@ -9,7 +9,7 @@ use Magento\Mtf\Block\Block; use Magento\Mtf\Client\Locator; /** - * Block for information about adresses on order page. + * Block for information about addresses on order page. */ class Addresses extends Block { @@ -18,7 +18,7 @@ class Addresses extends Block * * @var string */ - protected $billingAddress = '.order-billing-address address'; + private $billingAddress = '.order-billing-address address'; /** * New address button selector. @@ -32,7 +32,7 @@ class Addresses extends Block * * @var string */ - protected $shippingAddress = '.order-shipping-address address'; + private $shippingAddress = '.order-shipping-address address'; /** * Get customer's billing address from the data inside block. @@ -41,7 +41,7 @@ class Addresses extends Block */ public function getCustomerBillingAddress() { - return $this->_rootElement->find($this->billingAddress)->getText(); + return $this->_rootElement->find($this->billingAddress, Locator::SELECTOR_CSS)->getText(); } /** @@ -51,7 +51,7 @@ class Addresses extends Block */ public function getCustomerShippingAddress() { - return $this->_rootElement->find($this->shippingAddress)->getText(); + return $this->_rootElement->find($this->shippingAddress, Locator::SELECTOR_CSS)->getText(); } /** diff --git a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityTest.xml b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityTest.xml index de4e7aeb1e298def3e55b19930a7b97deea941bc..141638e6b31b948665a46a08d8b5ea12cc0dfc74 100644 --- a/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityTest.xml +++ b/dev/tests/functional/tests/app/Magento/SalesRule/Test/TestCase/CreateSalesRuleEntityTest.xml @@ -418,7 +418,6 @@ <data name="address/data/country_id" xsi:type="string">United States</data> <data name="address/data/region_id" xsi:type="string">California</data> <data name="address/data/postcode" xsi:type="string">95814</data> - <data name="shipping/shipping_service" xsi:type="string">Flat Rate</data> <data name="productForSalesRule1/dataset" xsi:type="string">simple_for_salesrule_1</data> <data name="productQuantity/productForSalesRule1" xsi:type="string">1</data> <constraint name="Magento\SalesRule\Test\Constraint\AssertCartPriceRuleSuccessSaveMessage" />