-
Notifications
You must be signed in to change notification settings - Fork 9.4k
Added configuration to enable/disable Clear Shopping Cart action in storefront #28594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
magento-engcom-team
merged 34 commits into
magento:2.4-develop
from
joctabio:108_clear-shopping-cart-button-configuration
Jul 29, 2020
Merged
Changes from all commits
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
0ee9280
Created config used for showing/hiding clear cart button on the shopp…
Neos2007 077a2a5
config-clear-cart-action: Added translation for clear shopping cart b…
Neos2007 4cf999c
magento/partners-magento2b2b#108: Clear Shopping Cart - Added admin c…
53a22be
magento/magento2#108: Clear Shopping Cart - Implemented Clear Shoppin…
6d31101
Merge branch '108_clear-shopping-cart-button-configuration' of github…
70e3c15
magento/magento2#108: Clear Shopping Cart - Refactor doc for enable_c…
05470d0
magento/magento2#108: Clear Shopping Cart - Remove unnecessary empty …
e1fa935
magento/magento2#108: Clear Shopping Cart - Restore removed composer.…
2c4ee78
Merge branch 'pull-27917' into 108_clear-shopping-cart-button-configu…
7dad27c
magento/magento2#108: Clear Shopping Cart - Refactor to fix Static Te…
c1ba0e0
magento/magento2#108: Clear Shopping Cart - Refactor to fix expected …
0051ec9
magento/magento2#108: Clear Shopping Cart - Refactor _clearCartConfir…
e9c6dd1
magento/magento2#108: Clear Shopping Cart - Add RWD styling to cart a…
d57ff13
magento/magento2#108: Clear Shopping Cart - Refactor PHPdoc to fix Co…
ee29f5f
magento/magento2#108: Clear Shopping Cart - Added admin configuration…
888a9f3
magento/magento2#108: Clear Shopping Cart - Refactor initial changes …
b960859
magento/magento2#108: Clear Shopping Cart - Added file header copyright
e5724ef
Merge branch '2.4-develop' into 108_clear-shopping-cart-button-config…
danmooney2 e8a36e7
magento/magento2#108: Clear Shopping Cart - Refactor MFTF to include …
3a097b2
Merge branch '108_clear-shopping-cart-button-configuration' of github…
d8eeb97
magento/magento2#108: Clear Shopping Cart - Refactor MFTF to include …
c8c9b9b
Merge branch '2.4-develop' into 108_clear-shopping-cart-button-config…
danmooney2 35a469b
magento/magento2#108: Clear Shopping Cart - Updated MFTF for code rev…
09d6b10
Merge branch '108_clear-shopping-cart-button-configuration' of github…
adfea2a
magento/magento2#108: Clear Shopping Cart - Updated config scope to w…
b65a287
magento/magento2#108: Clear Shopping Cart - Added integration test fo…
2f55801
Merge branch '2.4-develop' into 108_clear-shopping-cart-button-config…
joanhe 418c6e8
magento/magento2#108: Clear Shopping Cart - Refactor MFTF and PHP fil…
c5056cd
Merge branch '108_clear-shopping-cart-button-configuration' of github…
f6574e4
magento/magento2#108: Clear Shopping Cart - Refactor integration test…
893ac50
Merge branch '2.4-develop' into 108_clear-shopping-cart-button-config…
joctabio c08f84b
Merge branch '2.4-develop' into 108_clear-shopping-cart-button-config…
joanhe d7abed9
magento/magento2#108: Clear Shopping Cart - Update translation file f…
05e1e77
Merge branch '108_clear-shopping-cart-button-configuration' of github…
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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> | ||
dhaecker marked this conversation as resolved.
Show resolved
Hide resolved
|
||
<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 hidden or 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() | ||
joanhe marked this conversation as resolved.
Show resolved
Hide resolved
|
||
{ | ||
return (bool)$this->_scopeConfig->getValue( | ||
self::XPATH_CONFIG_ENABLE_CLEAR_SHOPPING_CART, | ||
ScopeInterface::SCOPE_WEBSITE | ||
); | ||
} | ||
} |
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.