Skip to content
This repository has been archived by the owner on Dec 19, 2019. It is now read-only.

Commit

Permalink
Merge pull request #4104 from magento-tsg/2.3-develop-pr44
Browse files Browse the repository at this point in the history
[TSG] Upporting for 2.3 (pr44) (2.3-develop)
  • Loading branch information
xmav authored Apr 25, 2019
2 parents 0740f7c + a022ed1 commit ae611f6
Show file tree
Hide file tree
Showing 8 changed files with 152 additions and 118 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,6 @@
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>

<!-- Reset Product filter -->

<actionGroup ref="ClearProductsFilterActionGroup" stepKey="clearProductsFilter"/>

<!-- Delete Store View EN -->

<actionGroup ref="AdminDeleteStoreViewActionGroup" stepKey="deleteStoreView1">
Expand All @@ -67,6 +63,14 @@
<actionGroup ref="AdminDeleteStoreViewActionGroup" stepKey="deleteStoreView2">
<argument name="customStore" value="customStoreFR"/>
</actionGroup>
<actionGroup ref="clearFiltersAdminDataGrid" stepKey="clearWebsitesGridFilters"/>

<actionGroup ref="AdminOrdersGridClearFiltersActionGroup" stepKey="clearOrdersGridFilter"/>

<amOnPage url="{{AdminProductIndexPage.url}}" stepKey="amOnProductGridPage"/>
<actionGroup ref="clearFiltersAdminDataGrid" stepKey="clearProductsGridFilters"/>
<actionGroup ref="logout" stepKey="logout"/>
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="customerLogoutStorefront"/>
</after>

<!-- Open Product Grid, Filter product and open -->
Expand All @@ -78,8 +82,9 @@
<argument name="product" value="_defaultProduct"/>
</actionGroup>

<click selector="{{AdminProductGridSection.productGridXRowYColumnButton('1', '2')}}" stepKey="openProductForEdit"/>
<waitForPageLoad time="30" stepKey="waitForPageLoad2"/>
<actionGroup ref="OpenEditProductOnBackendActionGroup" stepKey="openEditProductPage">
<argument name="product" value="$$createProduct$$"/>
</actionGroup>

<!-- Update Product with Option Value DropDown 1-->
<conditionalClick selector="{{AdminProductCustomizableOptionsSection.customizableOptions}}" dependentSelector="{{AdminProductCustomizableOptionsSection.checkIfCustomizableOptionsTabOpen}}" visible="true" stepKey="clickIfContentTabCloses2"/>
Expand All @@ -101,15 +106,12 @@
<click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="clickSaveButton1"/>

<!-- Switcher to Store FR-->
<scrollToTopOfPage stepKey="scrollToTopOfPage1"/>

<click selector="{{AdminProductFormActionSection.changeStoreButton}}" stepKey="clickStoreSwitcher"/>
<click selector="{{AdminProductFormActionSection.selectStoreView(customStoreFR.name)}}" stepKey="clickStoreView"/>
<click selector="{{AdminConfirmationModalSection.ok}}" stepKey="acceptMessage"/>
<actionGroup ref="AdminSwitchStoreViewActionGroup" stepKey="switchToStoreFR">
<argument name="storeView" value="customStoreFR.name"/>
</actionGroup>

<!-- Open tab Customizable Options -->

<waitForPageLoad time="10" stepKey="waitForPageLoad4"/>
<conditionalClick selector="{{AdminProductCustomizableOptionsSection.customizableOptions}}" dependentSelector="{{AdminProductCustomizableOptionsSection.checkIfCustomizableOptionsTabOpen}}" visible="true" stepKey="clickIfContentTabCloses3"/>

<!-- Update Option Customizable Options and Option Value 1-->
Expand All @@ -129,11 +131,9 @@

<!-- Login Customer Storefront -->

<amOnPage url="{{StorefrontCustomerSignInPage.url}}" stepKey="amOnSignInPage"/>
<waitForPageLoad time="30" stepKey="waitForPageLoad6"/>
<fillField userInput="$$createCustomer.email$$" selector="{{StorefrontCustomerSignInFormSection.emailField}}" stepKey="fillEmail"/>
<fillField userInput="$$createCustomer.password$$" selector="{{StorefrontCustomerSignInFormSection.passwordField}}" stepKey="fillPassword"/>
<click selector="{{StorefrontCustomerSignInFormSection.signInAccountButton}}" stepKey="clickSignInAccountButton"/>
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="customerLogin">
<argument name="Customer" value="$$createCustomer$$" />
</actionGroup>

<!-- Go to Product Page -->

Expand Down Expand Up @@ -176,24 +176,29 @@

<conditionalClick selector="{{CheckoutPaymentSection.productOptionsByProductItemPrice('150')}}" dependentSelector="{{CheckoutPaymentSection.productOptionsActiveByProductItemPrice('150')}}" visible="false" stepKey="exposeProductOptions1"/>
<see selector="{{CheckoutPaymentSection.productOptionsActiveByProductItemPrice('150')}}" userInput="option2" stepKey="seeProductOptionValueDropdown1Input2"/>
<click selector="{{CheckoutShippingSection.next}}" stepKey="clickNext"/>
<waitForPageLoad time="30" stepKey="waitForPageLoad8"/>

<!-- Place Order -->

<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectCheckMoneyOrder1"/>
<click selector="{{CheckoutPaymentSection.placeOrder}}" stepKey="clickPlaceOrder"/>
<!--Select shipping method-->
<actionGroup ref="CheckoutSelectFlatRateShippingMethodActionGroup" stepKey="selectFlatRateShippingMethod"/>
<waitForElementVisible selector="{{CheckoutShippingSection.next}}" time="30" stepKey="waitForNextButton"/>
<click selector="{{CheckoutShippingSection.next}}" stepKey="clickNext"/>
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskAfterClickNext"/>
<!--Select payment method-->
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectPaymentMethod"/>
<!-- Place Order -->
<actionGroup ref="CheckoutPlaceOrderActionGroup" stepKey="customerPlaceOrder">
<argument name="orderNumberMessage" value="CONST.successCheckoutOrderNumberMessage"/>
<argument name="emailYouMessage" value="CONST.successCheckoutEmailYouMessage"/>
</actionGroup>

<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber22}}" stepKey="grabOrderNumber"/>

<!-- Open Order -->

<amOnPage url="{{AdminOrdersPage.url}}" stepKey="onOrdersPage"/>
<waitForPageLoad stepKey="waitForPageLoadOrdersPage"/>
<conditionalClick selector="{{AdminDataGridHeaderSection.clearFilters}}" dependentSelector="{{AdminDataGridHeaderSection.clearFilters}}" visible="true" stepKey="clearFilters" />
<fillField selector="{{AdminOrdersGridSection.search}}" userInput="{$grabOrderNumber}" stepKey="fillOrderNum"/>
<click selector="{{AdminOrdersGridSection.submitSearch}}" stepKey="submitSearchOrderNum"/>
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappearOnSearch"/>
<actionGroup ref="filterOrderGridById" stepKey="openOrdersGrid">
<argument name="orderId" value="{$grabOrderNumber}"/>
</actionGroup>
<click selector="{{AdminOrdersGridSection.firstRow}}" stepKey="clickOrderRow"/>
<waitForPageLoad time="30" stepKey="waitForPageLoad10"/>

Expand All @@ -205,14 +210,12 @@
<!-- Switch to FR Store View Storefront -->

<amOnPage url="{{StorefrontHomePage.url}}" stepKey="amOnProduct4Page"/>
<waitForPageLoad time="30" stepKey="waitForPageLoad11"/>
<click selector="{{StorefrontHeaderSection.storeViewSwitcher}}" stepKey="clickStoreViewSwitcher1"/>
<waitForElementVisible selector="{{StorefrontHeaderSection.storeViewDropdown}}" stepKey="waitForStoreViewDropdown1"/>
<click selector="{{StorefrontHeaderSection.storeViewOption(customStoreFR.code)}}" stepKey="selectStoreView1"/>
<waitForPageLoad stepKey="waitForPageLoad12"/>

<amOnPage url="{{StorefrontHomePage.url}}$$createProduct.custom_attributes[url_key]$$.html" stepKey="amOnProduct2Page"/>
<waitForPageLoad time="30" stepKey="waitForPageLoad13"/>
<actionGroup ref="StorefrontSwitchStoreViewActionGroup" stepKey="switchStore">
<argument name="storeView" value="customStoreFR"/>
</actionGroup>

<amOnPage url="{{StorefrontProductPage.url($$createProduct.custom_attributes[url_key]$$)}}" stepKey="amOnProduct2Page"/>

<seeElement selector="{{StorefrontProductInfoMainSection.productOptionDropDownTitle('FR Custom Options 1')}}" stepKey="seeProductFrOptionDropDownTitle"/>
<seeElement selector="{{StorefrontProductInfoMainSection.productOptionDropDownOptionTitle('FR Custom Options 1', 'FR option1')}}" stepKey="productFrOptionDropDownOptionTitle1"/>
Expand Down Expand Up @@ -250,13 +253,22 @@

<conditionalClick selector="{{CheckoutPaymentSection.productOptionsByProductItemPrice('150')}}" dependentSelector="{{CheckoutPaymentSection.productOptionsActiveByProductItemPrice('150')}}" visible="false" stepKey="exposeProductOptions3"/>
<see selector="{{CheckoutPaymentSection.productOptionsActiveByProductItemPrice('150')}}" userInput="FR option2" stepKey="seeProductFrOptionValueDropdown1Input3"/>
<click selector="{{CheckoutShippingSection.next}}" stepKey="clickNext1"/>
<waitForPageLoad time="30" stepKey="waitForPageLoad14"/>

<!-- Place Order -->

<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectCheckMoneyOrder2"/>
<click selector="{{CheckoutPaymentSection.placeOrder}}" stepKey="clickPlaceOrder1"/>
<!--Select shipping method-->
<actionGroup ref="CheckoutSelectFlatRateShippingMethodActionGroup" stepKey="selectFlatRateShippingMethod2"/>
<waitForElementVisible selector="{{CheckoutShippingSection.next}}" time="30" stepKey="waitForNextButton2"/>
<click selector="{{CheckoutShippingSection.next}}" stepKey="clickNext2"/>
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskAfterClickNext2"/>

<!--Select payment method-->
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectPaymentMethod2"/>
<!-- Place Order -->
<actionGroup ref="CheckoutPlaceOrderActionGroup" stepKey="customerPlaceOrder2">
<argument name="orderNumberMessage" value="CONST.successCheckoutOrderNumberMessage"/>
<argument name="emailYouMessage" value="CONST.successCheckoutEmailYouMessage"/>
</actionGroup>

<!-- Open Product Grid, Filter product and open -->

Expand Down Expand Up @@ -296,8 +308,7 @@

<!--Go to Product Page-->

<amOnPage url="{{StorefrontHomePage.url}}$$createProduct.custom_attributes[url_key]$$.html" stepKey="amOnProduct2Page2"/>
<waitForPageLoad time="30" stepKey="waitForPageLoad20"/>
<amOnPage url="{{StorefrontProductPage.url($$createProduct.custom_attributes[url_key]$$)}}" stepKey="amOnProduct2Page2"/>

<seeElement selector="{{StorefrontProductInfoMainSection.productOptionDropDownTitle('Custom Options 1')}}" stepKey="seeProductOptionDropDownTitle1"/>
<seeElement selector="{{StorefrontProductInfoMainSection.productOptionDropDownOptionTitle('Custom Options 1', 'option1')}}" stepKey="seeProductOptionDropDownOptionTitle3"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@
<argument name="orderNumberMessage"/>
<argument name="emailYouMessage"/>
</arguments>
<waitForElement selector="{{CheckoutPaymentSection.placeOrder}}" time="30" stepKey="waitForPlaceOrderButton"/>
<waitForElementVisible selector="{{CheckoutPaymentSection.placeOrder}}" time="30" stepKey="waitForPlaceOrderButton"/>
<click selector="{{CheckoutPaymentSection.placeOrder}}" stepKey="clickPlaceOrder"/>
<see selector="{{CheckoutSuccessMainSection.success}}" userInput="{{orderNumberMessage}}" stepKey="seeOrderNumber"/>
<see selector="{{CheckoutSuccessMainSection.success}}" userInput="{{emailYouMessage}}" stepKey="seeEmailYou"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,67 +136,76 @@
</section>

<script>
require(['jquery', 'prototype'], function(jQuery){
require(['jquery'], function(jQuery){

//<![CDATA[
var submitButtons = $$('.submit-button');
var updateButtons = $$('.update-button');
var fields = $$('.qty-input');
var submitButtons = jQuery('.submit-button');
var updateButtons = jQuery('.update-button');
var fields = jQuery('.qty-input');

updateButtons.each(function (elem) {elem.disabled=true;elem.addClassName('disabled');});
function enableButtons(buttons) {
buttons.removeClass('disabled').prop('disabled', false);
}

for(var i=0;i<fields.length;i++){
fields[i].observe('change', checkButtonsRelation)
fields[i].baseValue = fields[i].value;
function disableButtons(buttons) {
buttons.addClass('disabled').prop('disabled', true);
}

disableButtons(updateButtons);

fields.on('change', checkButtonsRelation);
fields.each(function (i, elem) {
elem.baseValue = elem.value;
});

function checkButtonsRelation() {
var hasChanges = false;
fields.each(function (elem) {
fields.each(function (i, elem) {
if (elem.baseValue != elem.value) {
hasChanges = true;
}
}.bind(this));
if (hasChanges) {
submitButtons.each(function (elem) {elem.disabled=true;elem.addClassName('disabled');});
updateButtons.each(function (elem) {elem.disabled=false;elem.removeClassName('disabled');});
disableButtons(submitButtons);
enableButtons(updateButtons);
}
else {
submitButtons.each(function (elem) {elem.disabled=false;elem.removeClassName('disabled');});
updateButtons.each(function (elem) {elem.disabled=true;elem.addClassName('disabled');});
enableButtons(submitButtons);
disableButtons(updateButtons);
}
}

submitCreditMemo = function() {
if ($('creditmemo_do_offline')) $('creditmemo_do_offline').value=0;
var creditMemoOffline = jQuery('#creditmemo_do_offline');
if (creditMemoOffline.length) {
creditMemoOffline.prop('value', 0);
}
// Temporary solution will be replaced after refactoring order functionality
jQuery('#edit_form').triggerHandler('save');
}
};

submitCreditMemoOffline = function() {
if ($('creditmemo_do_offline')) $('creditmemo_do_offline').value=1;
var creditMemoOffline = jQuery('#creditmemo_do_offline');
if (creditMemoOffline.length) {
creditMemoOffline.prop('value', 1);
}
// Temporary solution will be replaced after refactoring order functionality
jQuery('#edit_form').triggerHandler('save');
}

var sendEmailCheckbox = $('send_email');
};

if (sendEmailCheckbox) {
var notifyCustomerCheckbox = $('notify_customer');
var creditmemoCommentText = $('creditmemo_comment_text');
Event.observe(sendEmailCheckbox, 'change', bindSendEmail);
var sendEmailCheckbox = jQuery('#send_email');
if (sendEmailCheckbox.length) {
var notifyCustomerCheckbox = jQuery('#notify_customer');
sendEmailCheckbox.on('change', bindSendEmail);
bindSendEmail();
}

function bindSendEmail()
{
if (sendEmailCheckbox.checked == true) {
notifyCustomerCheckbox.disabled = false;
//creditmemoCommentText.disabled = false;
function bindSendEmail() {
if (sendEmailCheckbox.prop('checked') == true) {
notifyCustomerCheckbox.prop('disabled', false);
}
else {
notifyCustomerCheckbox.disabled = true;
//creditmemoCommentText.disabled = true;
notifyCustomerCheckbox.prop('disabled', true);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,56 +134,61 @@
</section>

<script>
require(['jquery', 'prototype'], function(jQuery){
require(['jquery'], function(jQuery){

//<![CDATA[
var submitButtons = $$('.submit-button');
var updateButtons = $$('.update-button');
var submitButtons = jQuery('.submit-button');
var updateButtons = jQuery('.update-button');
var enableSubmitButtons = <?= (int) !$block->getDisableSubmitButton() ?>;
var fields = $$('.qty-input');
var fields = jQuery('.qty-input');

updateButtons.each(function (elem) {elem.disabled=true;elem.addClassName('disabled');});
function enableButtons(buttons) {
buttons.removeClass('disabled').prop('disabled', false);
}

for(var i=0;i<fields.length;i++){
jQuery(fields[i]).on('keyup', checkButtonsRelation);
fields[i].baseValue = fields[i].value;
function disableButtons(buttons) {
buttons.addClass('disabled').prop('disabled', true);
}

disableButtons(updateButtons);

fields.on('keyup', checkButtonsRelation);
fields.each(function (i, elem) {
elem.baseValue = elem.value;
});

function checkButtonsRelation() {
var hasChanges = false;
fields.each(function (elem) {
fields.each(function (i, elem) {
if (elem.baseValue != elem.value) {
hasChanges = true;
}
}.bind(this));
if (hasChanges) {
submitButtons.each(function (elem) {elem.disabled=true;elem.addClassName('disabled');});
updateButtons.each(function (elem) {elem.disabled=false;elem.removeClassName('disabled');});
disableButtons(submitButtons);
enableButtons(updateButtons);
}
else {
if (enableSubmitButtons) {
submitButtons.each(function (elem) {elem.disabled=false;elem.removeClassName('disabled');});
enableButtons(submitButtons);
}
updateButtons.each(function (elem) {elem.disabled=true;elem.addClassName('disabled');});
disableButtons(updateButtons);
}
}

var sendEmailCheckbox = $('send_email');
if (sendEmailCheckbox) {
var notifyCustomerCheckbox = $('notify_customer');
var invoiceCommentText = $('invoice_comment_text');
Event.observe(sendEmailCheckbox, 'change', bindSendEmail);
var sendEmailCheckbox = jQuery('#send_email');
if (sendEmailCheckbox.length) {
var notifyCustomerCheckbox = jQuery('#notify_customer');
sendEmailCheckbox.on('change', bindSendEmail);
bindSendEmail();
}
function bindSendEmail()
{
if (sendEmailCheckbox.checked == true) {
notifyCustomerCheckbox.disabled = false;
//invoiceCommentText.disabled = false;
if (sendEmailCheckbox.prop('checked') == true) {
notifyCustomerCheckbox.prop('disabled', false);
}
else {
notifyCustomerCheckbox.disabled = true;
//invoiceCommentText.disabled = true;
notifyCustomerCheckbox.prop('disabled', true);
}
}

Expand Down
Loading

0 comments on commit ae611f6

Please sign in to comment.