-
Notifications
You must be signed in to change notification settings - Fork 9.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ENGCOM-7877: Added configuration to enable/disable Clear Shopping Car…
…t action in storefront #28594 - Merge Pull Request #28594 from joctabio/magento2:108_clear-shopping-cart-button-configuration - Merged commits: 1. 0ee9280 2. 077a2a5 3. 4cf999c 4. 53a22be 5. 6d31101 6. 70e3c15 7. 05470d0 8. e1fa935 9. 2c4ee78 10. 7dad27c 11. c1ba0e0 12. 0051ec9 13. e9c6dd1 14. d57ff13 15. ee29f5f 16. 888a9f3 17. b960859 18. e5724ef 19. e8a36e7 20. 3a097b2 21. d8eeb97 22. c8c9b9b 23. 35a469b 24. 09d6b10 25. adfea2a 26. b65a287 27. 2f55801 28. 418c6e8 29. c5056cd 30. f6574e4 31. 893ac50 32. c08f84b 33. d7abed9 34. 05e1e77
- Loading branch information
Showing
18 changed files
with
454 additions
and
25 deletions.
There are no files selected for viewing
21 changes: 21 additions & 0 deletions
21
...de/Magento/Checkout/Test/Mftf/ActionGroup/AdminOpenSalesCheckoutConfigPageActionGroup.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
<?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="AdminOpenSalesCheckoutConfigPageActionGroup"> | ||
<annotations> | ||
<description>Goes to the Store Configuration > Sales > Checkout configuration page in admin.</description> | ||
</annotations> | ||
<arguments> | ||
<argument name="tabGroupAnchor" type="string" defaultValue=""/> | ||
</arguments> | ||
<amOnPage url="{{AdminCheckoutConfigPage.url(tabGroupAnchor)}}" stepKey="openCheckoutConfigPage"/> | ||
<waitForPageLoad stepKey="waitForCheckoutConfigPageLoad"/> | ||
</actionGroup> | ||
</actionGroups> | ||
|
23 changes: 23 additions & 0 deletions
23
...o/Checkout/Test/Mftf/ActionGroup/AdminSelectClearShoppingCartConfigurationActionGroup.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?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="AdminSelectClearShoppingCartConfigurationActionGroup"> | ||
<annotations> | ||
<description>Enable/Disable clear shopping cart store configuration using UI.</description> | ||
</annotations> | ||
<arguments> | ||
<argument name="value" type="string" defaultValue="{{EnableClearShoppingCart.textValue}}"/> | ||
</arguments> | ||
<waitForElementVisible selector="{{AdminCheckoutConfigSection.clearShoppingCartEnabledInherit}}" stepKey="waitForClearShoppingCartEnabledInherit" /> | ||
<uncheckOption selector="{{AdminCheckoutConfigSection.clearShoppingCartEnabledInherit}}" stepKey="uncheckUseSystem" /> | ||
<waitForElementVisible selector="{{AdminCheckoutConfigSection.clearShoppingCartEnabled}}" stepKey="waitForClearShoppingCartEnabled" /> | ||
<selectOption selector="{{AdminCheckoutConfigSection.clearShoppingCartEnabled}}" userInput="{{value}}" stepKey="fillClearShoppingCartEnabled" /> | ||
</actionGroup> | ||
</actionGroups> |
27 changes: 27 additions & 0 deletions
27
app/code/Magento/Checkout/Test/Mftf/ActionGroup/StorefrontClearShoppingCartActionGroup.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
<?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="StorefrontClearShoppingCartActionGroup"> | ||
<annotations> | ||
<description>Clicks the Clear Shopping Cart button on the storefront on the shopping cart page and verifies shopping cart gets emptied.</description> | ||
</annotations> | ||
|
||
<waitForElementVisible selector="{{CheckoutCartProductSection.emptyCartButton}}" stepKey="waitForEmptyCartButton"/> | ||
<click selector="{{CheckoutCartProductSection.emptyCartButton}}" stepKey="clickEmptyCartButton"/> | ||
<waitForElementVisible selector="{{CheckoutCartProductSection.modalMessage}}" stepKey="waitForModalMessage"/> | ||
<waitForText selector="{{CheckoutCartProductSection.modalMessage}}" userInput="Are you sure you want to remove all items from your shopping cart?" stepKey="waitForTextModalMessage"/> | ||
<waitForElementVisible selector="{{CheckoutCartProductSection.modalConfirmButton}}" stepKey="waitForModalConfirmButton"/> | ||
<click selector="{{CheckoutCartProductSection.modalConfirmButton}}" stepKey="clickModalConfirmButton"/> | ||
<waitForPageLoad stepKey="waitForPageLoad"/> | ||
<seeCurrentUrlEquals url="{{_ENV.MAGENTO_BASE_URL}}checkout/cart" stepKey="seeCurrentUrlEqualsCartPage"/> | ||
<waitForText selector="{{CheckoutCartMessageSection.emptyCartMessage}}" userInput="You have no items in your shopping cart." stepKey="waitForEmptyCartMessage"/> | ||
|
||
</actionGroup> | ||
</actionGroups> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
app/code/Magento/Checkout/Test/Mftf/Page/AdminCheckoutConfigPage.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- | ||
/** | ||
* Copyright © Magento, Inc. All rights reserved. | ||
* See COPYING.txt for license details. | ||
*/ | ||
--> | ||
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/PageObject.xsd"> | ||
<page name="AdminCheckoutConfigPage" url="admin/system_config/edit/section/checkout/{{tabLink}}" area="admin" parameterized="true" module="Magento_Checkout"> | ||
<section name="AdminCheckoutConfigSection"/> | ||
</page> | ||
</pages> |
13 changes: 13 additions & 0 deletions
13
app/code/Magento/Checkout/Test/Mftf/Section/AdminCheckoutConfigSection.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- | ||
/** | ||
* Copyright © Magento, Inc. All rights reserved. | ||
* See COPYING.txt for license details. | ||
*/ | ||
--> | ||
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd"> | ||
<section name="AdminCheckoutConfigSection"> | ||
<element name="clearShoppingCartEnabled" type="select" selector="#checkout_cart_enable_clear_shopping_cart" timeout="30"/> | ||
<element name="clearShoppingCartEnabledInherit" type="select" selector="#checkout_cart_enable_clear_shopping_cart_inherit" timeout="30"/> | ||
</section> | ||
</sections> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
86 changes: 86 additions & 0 deletions
86
app/code/Magento/Checkout/Test/Mftf/Test/ClearShoppingCartEnableDisableConfigurationTest.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
/** | ||
* Copyright © Magento, Inc. All rights reserved. | ||
* See COPYING.txt for license details. | ||
*/ | ||
--> | ||
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> | ||
<test name="ClearShoppingCartEnableDisableConfigurationTest"> | ||
<annotations> | ||
<features value="Checkout"/> | ||
<stories value="Shopping Cart"/> | ||
<title value="Enable and Disable Clear Shopping Cart Configuration"/> | ||
<description value="Verify that disabling the clear shopping cart store configuration will remove the clear shopping cart configuration button from the storefront's shopping cart page. Verify that enabling the configuration will add the button to the page and that the button functions as expected"/> | ||
<group value="shoppingCart"/> | ||
<severity value="MAJOR"/> | ||
</annotations> | ||
<before> | ||
<!-- Create simple products and category --> | ||
<createData entity="_defaultCategory" stepKey="createCategory"/> | ||
<createData entity="SimpleProduct" stepKey="createProduct1"> | ||
<requiredEntity createDataKey="createCategory"/> | ||
</createData> | ||
<createData entity="SimpleProduct" stepKey="createProduct2"> | ||
<requiredEntity createDataKey="createCategory"/> | ||
</createData> | ||
|
||
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/> | ||
</before> | ||
<after> | ||
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/> | ||
<deleteData createDataKey="createProduct1" stepKey="deleteProduct1"/> | ||
<deleteData createDataKey="createProduct2" stepKey="deleteProduct2"/> | ||
|
||
<!-- Disable clear shopping cart --> | ||
<magentoCLI command="config:set {{DisableClearShoppingCart.path}} {{DisableClearShoppingCart.value}}" stepKey="disableClearShoppingCart"/> | ||
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/> | ||
</after> | ||
|
||
<!-- Navigate to sales checkout cart configuration --> | ||
<actionGroup ref="AdminOpenSalesCheckoutConfigPageActionGroup" stepKey="openSalesCheckoutCartConfig1"> | ||
<argument name="tabGroupAnchor" value="#checkout_cart-link"/> | ||
</actionGroup> | ||
|
||
<!-- Enable clear shopping cart button --> | ||
<actionGroup ref="AdminSelectClearShoppingCartConfigurationActionGroup" stepKey="enableClearShoppingCartButton"/> | ||
<actionGroup ref="SaveStoreConfigurationActionGroup" stepKey="saveStoreConfiguration1"/> | ||
|
||
<!-- Open product 1 and add to cart --> | ||
<actionGroup ref="StorefrontOpenProductEntityPageActionGroup" stepKey="openProduct1Page1"> | ||
<argument name="product" value="$$createProduct1$$"/> | ||
</actionGroup> | ||
<actionGroup ref="StorefrontAddToTheCartActionGroup" stepKey="product1AddToCart"/> | ||
|
||
<!-- Open product 2 and add to cart --> | ||
<actionGroup ref="StorefrontOpenProductEntityPageActionGroup" stepKey="openProduct2Page"> | ||
<argument name="product" value="$$createProduct2$$"/> | ||
</actionGroup> | ||
<actionGroup ref="StorefrontAddToTheCartActionGroup" stepKey="product2AddToCart"/> | ||
|
||
<!-- Go to shopping cart page --> | ||
<actionGroup ref="StorefrontCartPageOpenActionGroup" stepKey="openShoppingCartPage1"/> | ||
|
||
<!-- Clear shopping cart --> | ||
<actionGroup ref="StorefrontClearShoppingCartActionGroup" stepKey="clearShoppingCart"/> | ||
<actionGroup ref="AssertMiniCartEmptyActionGroup" stepKey="assertMiniCartEmpty"/> | ||
|
||
<!-- Return to Admin to disable clear shopping cart --> | ||
<actionGroup ref="AdminOpenSalesCheckoutConfigPageActionGroup" stepKey="openSalesCheckoutCartConfig2"/> | ||
<actionGroup ref="AdminSelectClearShoppingCartConfigurationActionGroup" stepKey="disableClearShoppingCartButton"> | ||
<argument name="value" value="{{DisableClearShoppingCart.textValue}}"/> | ||
</actionGroup> | ||
<actionGroup ref="SaveStoreConfigurationActionGroup" stepKey="saveStoreConfiguration2"/> | ||
|
||
<!-- Open product 1 page and add to cart --> | ||
<actionGroup ref="StorefrontOpenProductEntityPageActionGroup" stepKey="openProduct1Page2"> | ||
<argument name="product" value="$$createProduct1$$"/> | ||
</actionGroup> | ||
<actionGroup ref="StorefrontAddToTheCartActionGroup" stepKey="product1AddToCart2"/> | ||
|
||
<!-- Go to shopping cart and assert clear shopping cart button is not rendered in UI --> | ||
<actionGroup ref="StorefrontCartPageOpenActionGroup" stepKey="openShoppingCartPage2"/> | ||
<dontSeeElementInDOM selector="{{CheckoutCartProductSection.emptyCartButton}}" stepKey="dontSeeElementEmptyCartButton"/> | ||
</test> | ||
</tests> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
<?php | ||
/** | ||
* Copyright © Magento, Inc. All rights reserved. | ||
* See COPYING.txt for license details. | ||
*/ | ||
|
||
namespace Magento\Checkout\ViewModel; | ||
|
||
use Magento\Framework\App\Config\ScopeConfigInterface; | ||
use Magento\Framework\View\Element\Block\ArgumentInterface; | ||
use Magento\Framework\View\Element\Context; | ||
use Magento\Store\Model\ScopeInterface; | ||
|
||
/** | ||
* Cart form view model. | ||
*/ | ||
class Cart implements ArgumentInterface | ||
{ | ||
/** | ||
* Config settings path to enable clear shopping cart button | ||
*/ | ||
private const XPATH_CONFIG_ENABLE_CLEAR_SHOPPING_CART = 'checkout/cart/enable_clear_shopping_cart'; | ||
|
||
/** | ||
* @var ScopeConfigInterface | ||
*/ | ||
private $_scopeConfig; | ||
|
||
/** | ||
* Constructor | ||
* | ||
* @param Context $context | ||
*/ | ||
public function __construct( | ||
Context $context | ||
) { | ||
$this->_scopeConfig = $context->getScopeConfig(); | ||
} | ||
|
||
/** | ||
* Check if clear shopping cart button is enabled | ||
* | ||
* @return bool | ||
*/ | ||
public function isClearShoppingCartEnabled() | ||
{ | ||
return (bool)$this->_scopeConfig->getValue( | ||
self::XPATH_CONFIG_ENABLE_CLEAR_SHOPPING_CART, | ||
ScopeInterface::SCOPE_WEBSITE | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.