Skip to content

Commit

Permalink
Merge branch '2.4-develop' into fix-27489
Browse files Browse the repository at this point in the history
  • Loading branch information
ProkopovVitaliy committed May 1, 2020
2 parents 999fb8f + b4c05a4 commit bf1722a
Show file tree
Hide file tree
Showing 199 changed files with 6,540 additions and 741 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,10 @@
<data key="scope_code">base</data>
<data key="value">en_US</data>
</entity>
<entity name="GeneralLocalCodeConfigsForMexico">
<data key="path">general/locale/code</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
<data key="value">es_MX</data>
</entity>
</entities>
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="AdminCatalogPriceRuleDeleteAllActionGroup">
<annotations>
<description>Open Catalog Price Rule grid and delete all rules one by one. Need to avoid interference with other tests that test catalog price rules.</description>
</annotations>

<amOnPage url="{{AdminCatalogPriceRuleGridPage.url}}" stepKey="goToAdminCatalogPriceRuleGridPage"/>
<!-- It sometimes is loading too long for default 10s -->
<waitForPageLoad time="60" stepKey="waitForPageFullyLoaded"/>
<conditionalClick selector="{{AdminDataGridHeaderSection.clearFilters}}" dependentSelector="{{AdminDataGridHeaderSection.clearFilters}}" visible="true" stepKey="clearExistingFilters"/>
<helper class="\Magento\CatalogRule\Test\Mftf\Helper\CatalogPriceRuleHelper" method="deleteAllCatalogPriceRules" stepKey="deleteAllCatalogPriceRulesOneByOne">
<argument name="firstNotEmptyRow">{{AdminDataGridTableSection.firstNotEmptyRow}}</argument>
<argument name="modalAcceptButton">{{AdminConfirmationModalSection.ok}}</argument>
<argument name="deleteButton">{{AdminMainActionsSection.delete}}</argument>
<argument name="successMessageContainer">{{AdminMessagesSection.success}}</argument>
<argument name="successMessage">You deleted the rule.</argument>
</helper>
<waitForElementVisible selector="{{AdminDataGridTableSection.dataGridEmpty}}" stepKey="waitDataGridEmptyMessageAppears"/>
<see selector="{{AdminDataGridTableSection.dataGridEmpty}}" userInput="We couldn't find any records." stepKey="assertDataGridEmptyMessage"/>
</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);

namespace Magento\CatalogRule\Test\Mftf\Helper;

use Facebook\WebDriver\Remote\RemoteWebDriver as FacebookWebDriver;
use Facebook\WebDriver\WebDriverBy;
use Magento\FunctionalTestingFramework\Helper\Helper;
use Magento\FunctionalTestingFramework\Module\MagentoWebDriver;

/**
* Class for MFTF helpers for CatalogRule module.
*/
class CatalogPriceRuleHelper extends Helper
{
/**
* Delete all Catalog Price Rules obe by one.
*
* @param string $emptyRow
* @param string $modalAceptButton
* @param string $deleteButton
* @param string $successMessageContainer
* @param string $successMessage
*
* @return void
*/
public function deleteAllCatalogPriceRules(
string $firstNotEmptyRow,
string $modalAcceptButton,
string $deleteButton,
string $successMessageContainer,
string $successMessage
): void {
try {
/** @var MagentoWebDriver $webDriver */
$magentoWebDriver = $this->getModule('\Magento\FunctionalTestingFramework\Module\MagentoWebDriver');
/** @var FacebookWebDriver $webDriver */
$webDriver = $magentoWebDriver->webDriver;
$rows = $webDriver->findElements(WebDriverBy::cssSelector($firstNotEmptyRow));
while (!empty($rows)) {
$rows[0]->click();
$magentoWebDriver->waitForPageLoad(30);
$magentoWebDriver->click($deleteButton);
$magentoWebDriver->waitForPageLoad(30);
$magentoWebDriver->waitForElementVisible($modalAcceptButton, 10);
$magentoWebDriver->waitForPageLoad(60);
$magentoWebDriver->click($modalAcceptButton);
$magentoWebDriver->waitForPageLoad(60);
$magentoWebDriver->waitForLoadingMaskToDisappear();
$magentoWebDriver->waitForElementVisible($successMessageContainer, 10);
$magentoWebDriver->see($successMessage, $successMessageContainer);
$rows = $webDriver->findElements(WebDriverBy::cssSelector($firstNotEmptyRow));
}
} catch (\Exception $e) {
$this->fail($e->getMessage());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,21 +29,23 @@
<createData entity="SimpleSalesRuleCoupon" stepKey="createCouponForCartPriceRule">
<requiredEntity createDataKey="createCartPriceRule"/>
</createData>

<!-- Login as admin -->
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
</before>
<after>
<!-- Delete simple product -->
<deleteData createDataKey="createProduct" stepKey="deleteProduct"/>

<!-- Delete sales rule -->
<deleteData createDataKey="createCartPriceRule" stepKey="deleteCartPriceRule"/>

<actionGroup ref="AdminOrdersGridClearFiltersActionGroup" stepKey="clearOrderFilters"/>
<!-- Admin log out -->
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
</after>

<!-- Go to Storefront as Guest and add simple product to cart -->
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addProductToCart">
<argument name="product" value="$$createProduct$$"/>
<argument name="product" value="$createProduct$"/>
</actionGroup>

<!-- Go to Checkout -->
Expand All @@ -56,16 +58,18 @@

<!-- Click Apply Discount Code: section is expanded. Input promo code, apply and see success message -->
<actionGroup ref="StorefrontApplyDiscountCodeActionGroup" stepKey="applyCoupon">
<argument name="discountCode" value="$$createCouponForCartPriceRule.code$$"/>
<argument name="discountCode" value="$createCouponForCartPriceRule.code$"/>
</actionGroup>

<!-- Apply button is disappeared -->
<dontSeeElement selector="{{DiscountSection.ApplyCodeBtn}}" stepKey="dontSeeApplyButton"/>

<!-- Cancel coupon button is appeared -->
<waitForElementVisible selector="{{DiscountSection.CancelCouponBtn}}" stepKey="waitCancelButtonAppears"/>
<seeElement selector="{{DiscountSection.CancelCouponBtn}}" stepKey="seeCancelCouponButton"/>

<!-- Order summary contains information about applied code -->
<waitForElementVisible selector="{{CheckoutPaymentSection.discount}}" stepKey="waitForDiscountCouponInSummaryBlock"/>
<seeElement selector="{{CheckoutPaymentSection.discount}}" stepKey="seeDiscountCouponInSummaryBlock"/>
<see selector="{{CheckoutPaymentSection.discountPrice}}" userInput="-$5.00" stepKey="seeDiscountPrice"/>

Expand All @@ -76,16 +80,13 @@
<actionGroup ref="ClickPlaceOrderActionGroup" stepKey="clickPlaceOrder"/>
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber}}" stepKey="grabOrderNumber"/>

<!-- Login as admin -->
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>

<!-- Verify total on order page -->
<actionGroup ref="FilterOrderGridByIdActionGroup" stepKey="filterOrderById">
<argument name="orderId" value="$grabOrderNumber"/>
<argument name="orderId" value="{$grabOrderNumber}"/>
</actionGroup>

<actionGroup ref="AdminOrderGridClickFirstRowActionGroup" stepKey="clickOrderRow"/>
<scrollTo selector="{{AdminOrderTotalSection.grandTotal}}" stepKey="scrollToOrderTotalSection"/>
<see selector="{{AdminOrderTotalSection.grandTotal}}" userInput="$$createProduct.price$$" stepKey="checkTotal"/>
<see selector="{{AdminOrderTotalSection.grandTotal}}" userInput="$createProduct.price$" stepKey="checkTotal"/>
</test>
</tests>
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,36 @@
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetCurrencyYENBaseConfig">
<data key="path">currency/options/base</data>
<data key="value">JPY</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetCurrencyCADBaseConfig">
<data key="path">currency/options/base</data>
<data key="value">CAD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetCurrencyAUDBaseConfig">
<data key="path">currency/options/base</data>
<data key="value">AUD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetCurrencyHKDBaseConfig">
<data key="path">currency/options/base</data>
<data key="value">HKD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetCurrencyNZDBaseConfig">
<data key="path">currency/options/base</data>
<data key="value">NZD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetAllowedCurrenciesConfigForUSD">
<data key="path">currency/options/allow</data>
<data key="value">USD</data>
Expand All @@ -32,6 +62,36 @@
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetAllowedCurrenciesConfigForYEN">
<data key="path">currency/options/allow</data>
<data key="value">JPY</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetAllowedCurrenciesConfigForCAD">
<data key="path">currency/options/allow</data>
<data key="value">CAD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetAllowedCurrenciesConfigForAUD">
<data key="path">currency/options/allow</data>
<data key="value">AUD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetAllowedCurrenciesConfigForHKD">
<data key="path">currency/options/allow</data>
<data key="value">HKD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetAllowedCurrenciesConfigForNZD">
<data key="path">currency/options/allow</data>
<data key="value">NZD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetAllowedCurrenciesConfigForRUB">
<data key="path">currency/options/allow</data>
<data key="value">RUB</data>
Expand All @@ -44,6 +104,36 @@
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetDefaultCurrencyYENConfig">
<data key="path">currency/options/default</data>
<data key="value">JPY</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetDefaultCurrencyCADConfig">
<data key="path">currency/options/default</data>
<data key="value">CAD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetDefaultCurrencyAUDConfig">
<data key="path">currency/options/default</data>
<data key="value">AUD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetDefaultCurrencyHKDConfig">
<data key="path">currency/options/default</data>
<data key="value">HKD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetDefaultCurrencyNZDConfig">
<data key="path">currency/options/default</data>
<data key="value">NZD</data>
<data key="scope">websites</data>
<data key="scope_code">base</data>
</entity>
<entity name="SetDefaultCurrencyUSDConfig">
<data key="path">currency/options/default</data>
<data key="value">USD</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
<fillField stepKey="fillEmail" userInput="{{Customer.email}}" selector="{{StorefrontCustomerCreateFormSection.emailField}}"/>
<fillField stepKey="fillPassword" userInput="{{Customer.password}}" selector="{{StorefrontCustomerCreateFormSection.passwordField}}"/>
<fillField stepKey="fillConfirmPassword" userInput="{{Customer.password}}" selector="{{StorefrontCustomerCreateFormSection.confirmPasswordField}}"/>
<waitForPageLoad stepKey="waitForCreateAccountButtonIsActive"/>
<click stepKey="clickCreateAccountButton" selector="{{StorefrontCustomerCreateFormSection.createAccountButton}}"/>
<see stepKey="seeThankYouMessage" userInput="Thank you for registering with Main Website Store."/>
<see stepKey="seeFirstName" userInput="{{Customer.firstname}}" selector="{{StorefrontCustomerDashboardAccountInformationSection.ContactInformation}}"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);

namespace Magento\LoginAsCustomer\Cron;

use Magento\LoginAsCustomerApi\Api\ConfigInterface;
use Magento\LoginAsCustomerApi\Api\DeleteExpiredAuthenticationDataInterface;

/**
* Delete expired authentication data cron task
*/
class DeleteExpiredAuthenticationData
{
/**
* @var DeleteExpiredAuthenticationDataInterface
*/
private $deleteOldSecretsProcessor;

/**
* @var ConfigInterface
*/
private $config;

/**
* @param DeleteExpiredAuthenticationDataInterface $deleteOldSecretsProcessor
* @param ConfigInterface $config
*/
public function __construct(
DeleteExpiredAuthenticationDataInterface $deleteOldSecretsProcessor,
ConfigInterface $config
) {
$this->deleteOldSecretsProcessor = $deleteOldSecretsProcessor;
$this->config = $config;
}

/**
* Delete expired authentication data
*/
public function execute(): void
{
if ($this->config->isEnabled()) {
$this->deleteOldSecretsProcessor->execute();
}
}
}
Loading

0 comments on commit bf1722a

Please sign in to comment.