From 2e4dc1626a5b85fbe96a36a75ee1b97772b2425e Mon Sep 17 00:00:00 2001 From: Giancarlo Cordero Ortiz Date: Wed, 2 Oct 2024 11:02:55 -0400 Subject: [PATCH 1/6] Test with internal ccv2 env --- .env-cmdrc | 4 ++-- projects/storefrontapp-e2e-cypress/cypress.config.ci.ts | 2 +- projects/storefrontapp-e2e-cypress/cypress.config.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.env-cmdrc b/.env-cmdrc index 60fdf05f15f..5758de96d58 100644 --- a/.env-cmdrc +++ b/.env-cmdrc @@ -1,6 +1,6 @@ { "dev": { - "CX_BASE_URL": "https://40.76.109.9:9002" + "CX_BASE_URL": "https://api.c432wmya2v-teamspart3-s1-public.model-t.myhybris.cloud" }, "local": { "CX_BASE_URL": "https://localhost:9002" @@ -9,7 +9,7 @@ "CX_BASE_URL": "http://localhost:9002" }, "ci": { - "CX_BASE_URL": "https://20.83.184.244:9002" + "CX_BASE_URL": "https://api.c432wmya2v-teamspart3-s1-public.model-t.myhybris.cloud" }, "ccv2": { "CX_BASE_URL": "https://api.cg79x9wuu9-eccommerc1-p1-public.model-t.myhybris.cloud" diff --git a/projects/storefrontapp-e2e-cypress/cypress.config.ci.ts b/projects/storefrontapp-e2e-cypress/cypress.config.ci.ts index 02c2371c23f..205dd668c5d 100644 --- a/projects/storefrontapp-e2e-cypress/cypress.config.ci.ts +++ b/projects/storefrontapp-e2e-cypress/cypress.config.ci.ts @@ -20,7 +20,7 @@ export default defineConfig({ }, videoUploadOnPasses: false, env: { - API_URL: 'https://20.83.184.244:9002', + API_URL: 'https://api.c432wmya2v-teamspart3-s1-public.model-t.myhybris.cloud', BASE_SITE: 'electronics-spa', BASE_LANG: 'en', BASE_CURRENCY: 'USD', diff --git a/projects/storefrontapp-e2e-cypress/cypress.config.ts b/projects/storefrontapp-e2e-cypress/cypress.config.ts index 0a64cf211ba..a544b8535fd 100644 --- a/projects/storefrontapp-e2e-cypress/cypress.config.ts +++ b/projects/storefrontapp-e2e-cypress/cypress.config.ts @@ -17,7 +17,7 @@ export default defineConfig({ env: { CLIENT_ID: 'mobile_android', CLIENT_SECRET: 'secret', - API_URL: 'https://40.76.109.9:9002', + API_URL: 'https://api.c432wmya2v-teamspart3-s1-public.model-t.myhybris.cloud', BASE_SITE: 'electronics-spa', BASE_LANG: 'en', BASE_CURRENCY: 'USD', From ef2b4b7f0cd511f2679eb4bde7a6a19ab467a1ae Mon Sep 17 00:00:00 2001 From: Giancarlo Cordero Ortiz Date: Wed, 2 Oct 2024 15:28:06 -0400 Subject: [PATCH 2/6] force run all tests --- ci-scripts/e2e-cypress.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ci-scripts/e2e-cypress.sh b/ci-scripts/e2e-cypress.sh index 4b8bf57faa4..ff175ab8c9b 100755 --- a/ci-scripts/e2e-cypress.sh +++ b/ci-scripts/e2e-cypress.sh @@ -103,13 +103,13 @@ else echo '-----' echo "Running Cypress end to end tests" - if [ "${GITHUB_EVENT_NAME}" == "pull_request" ]; then - if [[ "${GITHUB_HEAD_REF}" == epic/* ]]; then - npm run e2e:run:ci"${SUITE}" - else - npm run e2e:run:ci:core"${SUITE}" - fi - else +# if [ "${GITHUB_EVENT_NAME}" == "pull_request" ]; then +# if [[ "${GITHUB_HEAD_REF}" == epic/* ]]; then +# npm run e2e:run:ci"${SUITE}" +# else +# npm run e2e:run:ci:core"${SUITE}" +# fi +# else npm run e2e:run:ci"${SUITE}" - fi -fi +# fi +#fi From 8061c123f960b66a42d63cec6bada23d70f3cf2a Mon Sep 17 00:00:00 2001 From: Giancarlo Cordero Ortiz Date: Wed, 2 Oct 2024 16:15:57 -0400 Subject: [PATCH 3/6] Run prettier fix --- projects/storefrontapp-e2e-cypress/cypress.config.ci.ts | 3 ++- projects/storefrontapp-e2e-cypress/cypress.config.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/projects/storefrontapp-e2e-cypress/cypress.config.ci.ts b/projects/storefrontapp-e2e-cypress/cypress.config.ci.ts index 205dd668c5d..f4103e96975 100644 --- a/projects/storefrontapp-e2e-cypress/cypress.config.ci.ts +++ b/projects/storefrontapp-e2e-cypress/cypress.config.ci.ts @@ -20,7 +20,8 @@ export default defineConfig({ }, videoUploadOnPasses: false, env: { - API_URL: 'https://api.c432wmya2v-teamspart3-s1-public.model-t.myhybris.cloud', + API_URL: + 'https://api.c432wmya2v-teamspart3-s1-public.model-t.myhybris.cloud', BASE_SITE: 'electronics-spa', BASE_LANG: 'en', BASE_CURRENCY: 'USD', diff --git a/projects/storefrontapp-e2e-cypress/cypress.config.ts b/projects/storefrontapp-e2e-cypress/cypress.config.ts index a544b8535fd..5f5e7ff25ab 100644 --- a/projects/storefrontapp-e2e-cypress/cypress.config.ts +++ b/projects/storefrontapp-e2e-cypress/cypress.config.ts @@ -17,7 +17,8 @@ export default defineConfig({ env: { CLIENT_ID: 'mobile_android', CLIENT_SECRET: 'secret', - API_URL: 'https://api.c432wmya2v-teamspart3-s1-public.model-t.myhybris.cloud', + API_URL: + 'https://api.c432wmya2v-teamspart3-s1-public.model-t.myhybris.cloud', BASE_SITE: 'electronics-spa', BASE_LANG: 'en', BASE_CURRENCY: 'USD', From 3309062c1f8e20721d6cbfb6c4d9114edf97a350 Mon Sep 17 00:00:00 2001 From: Giancarlo Cordero Ortiz Date: Wed, 2 Oct 2024 16:46:16 -0400 Subject: [PATCH 4/6] Fix typo --- ci-scripts/e2e-cypress.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-scripts/e2e-cypress.sh b/ci-scripts/e2e-cypress.sh index ff175ab8c9b..f409711eb48 100755 --- a/ci-scripts/e2e-cypress.sh +++ b/ci-scripts/e2e-cypress.sh @@ -112,4 +112,4 @@ else # else npm run e2e:run:ci"${SUITE}" # fi -#fi +fi From 2d7c6ee397417dd8227e39ecde2e84830964db37 Mon Sep 17 00:00:00 2001 From: Giancarlo Cordero Ortiz Date: Tue, 8 Oct 2024 11:57:24 -0400 Subject: [PATCH 5/6] Update B2B Replenishment Tests --- .../b2b-account-checkout-flow.core-e2e.cy.ts | 2 +- .../b2b-order-history-orders-flow.e2e.cy.ts | 2 +- ...aily-replenishment-checkout-flow.e2e.cy.ts | 2 +- ...thly-replenishment-checkout-flow.e2e.cy.ts | 2 +- ...ekly-replenishment-checkout-flow.e2e.cy.ts | 2 +- .../cypress/helpers/b2b/b2b-bulk-pricing.ts | 2 +- .../cypress/helpers/b2b/b2b-checkout.ts | 31 +++++++++++++++---- .../cypress/sample-data/b2b-checkout.ts | 1 + 8 files changed, 32 insertions(+), 12 deletions(-) diff --git a/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/checkout/b2b-account-checkout-flow.core-e2e.cy.ts b/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/checkout/b2b-account-checkout-flow.core-e2e.cy.ts index 16a5b3fdaf0..48b8a477338 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/checkout/b2b-account-checkout-flow.core-e2e.cy.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/checkout/b2b-account-checkout-flow.core-e2e.cy.ts @@ -23,7 +23,7 @@ context('B2B - Account Checkout flow', () => { b2bCheckout.addB2bProductToCartAndCheckout(); b2bCheckout.enterPONumber(); b2bCheckout.selectAccountPayment(); - b2bCheckout.selectAccountShippingAddress(); + b2bCheckout.selectAccountShippingAddress(false); b2bCheckout.selectAccountDeliveryMode(); b2bCheckout.reviewB2bReviewOrderPage( b2bAccountShipToUser, diff --git a/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/order-history/b2b-order-history-orders-flow.e2e.cy.ts b/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/order-history/b2b-order-history-orders-flow.e2e.cy.ts index 7b94c54585e..f1ef3bd769f 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/order-history/b2b-order-history-orders-flow.e2e.cy.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/order-history/b2b-order-history-orders-flow.e2e.cy.ts @@ -58,7 +58,7 @@ describe('Order History with orders', { testIsolation: false }, () => { }); it('should enter shipping address', () => { - b2bCheckout.selectAccountShippingAddress(); + b2bCheckout.selectAccountShippingAddress(false); }); it('should select delivery mode', () => { diff --git a/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-daily-replenishment-checkout-flow.e2e.cy.ts b/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-daily-replenishment-checkout-flow.e2e.cy.ts index 23117426194..45de12369bb 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-daily-replenishment-checkout-flow.e2e.cy.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-daily-replenishment-checkout-flow.e2e.cy.ts @@ -48,7 +48,7 @@ context( }); it('should enter shipping address', () => { - b2bCheckout.selectAccountShippingAddress(); + b2bCheckout.selectAccountShippingAddress(false); }); it('should select delivery mode', () => { diff --git a/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-monthly-replenishment-checkout-flow.e2e.cy.ts b/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-monthly-replenishment-checkout-flow.e2e.cy.ts index 0732e2e6638..8da025ac9a6 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-monthly-replenishment-checkout-flow.e2e.cy.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-monthly-replenishment-checkout-flow.e2e.cy.ts @@ -48,7 +48,7 @@ context( }); it('should enter shipping address', () => { - b2bCheckout.selectAccountShippingAddress(); + b2bCheckout.selectAccountShippingAddress(false); }); it('should select delivery mode', () => { diff --git a/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-weekly-replenishment-checkout-flow.e2e.cy.ts b/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-weekly-replenishment-checkout-flow.e2e.cy.ts index acdd93d20fd..80d4bde5dd7 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-weekly-replenishment-checkout-flow.e2e.cy.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/e2e/b2b/regression/replenishment/b2b-weekly-replenishment-checkout-flow.e2e.cy.ts @@ -48,7 +48,7 @@ context( }); it('should enter shipping address', () => { - b2bCheckout.selectAccountShippingAddress(); + b2bCheckout.selectAccountShippingAddress(false); }); it('should select delivery mode', () => { diff --git a/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-bulk-pricing.ts b/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-bulk-pricing.ts index 439c15a7bba..d2e63bfda8b 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-bulk-pricing.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-bulk-pricing.ts @@ -88,7 +88,7 @@ export function placeOrder() { b2bCheckout.enterPONumber(); b2bCheckout.selectAccountPayment(); - b2bCheckout.selectAccountShippingAddress(); + b2bCheckout.selectAccountShippingAddress(false); b2bCheckout.selectAccountDeliveryMode(); verifyReviewOrderPage(); diff --git a/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-checkout.ts b/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-checkout.ts index 951e0735a58..f7469311b01 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-checkout.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-checkout.ts @@ -15,6 +15,7 @@ import { b2bUser, cartWithB2bProductAndPremiumShipping, costCenter, + costCenterId, order_type, poNumber, POWERTOOLS_BASESITE, @@ -199,6 +200,11 @@ export function selectAccountPayment() { cy.wait('@getCart').its('response.statusCode').should('eq', 200); + // Test GC + cy.wait(1000); + cy.get('div > label > select').select(costCenterId); + // End Test GC + // intercept costCenter list to get Rustic address Id which will be use in delivery addr/mode stubs cy.wait(`@${getCostCenters}`).then((xhr) => { if ( @@ -208,7 +214,12 @@ export function selectAccountPayment() { // first element of Cost Center is the default one, always match the combo-box selection b2bDeliveryAddress.id = xhr.response.body.costCenters[0].unit.addresses[0].id; + cy.log("Cost center update required"); + } + else{ + cy.log("Cost center update not required"); } + // cy.pause(); }); } @@ -227,7 +238,7 @@ export function selectCreditCardPayment() { .should('eq', 200); } -export function selectAccountShippingAddress() { +export function selectAccountShippingAddress(a11yCheck: boolean = false) { const getCheckoutDetails = interceptCheckoutB2BDetailsEndpoint( b2bDeliveryAddressStub, b2bDeliveryAddress.id @@ -248,7 +259,10 @@ export function selectAccountShippingAddress() { cy.get('.cx-card-label-bold').should('not.be.empty'); }); - cy.get('cx-card .card-header').should('contain', 'Selected'); + cy.wait(2000); + cy.get('.card-body').click({force: true}); + + // // cy.get('cx-card .card-header').should('contain', 'Selected'); /** * Delivery mode PUT intercept is not in selectAccountDeliveryMode() @@ -261,10 +275,15 @@ export function selectAccountShippingAddress() { ); // Accessibility - verifyTabbingOrder( - 'cx-page-layout.MultiStepCheckoutSummaryPageTemplate', - config.shippingAddressAccount - ); + // GC -> Disable for now. + if (a11yCheck){ + verifyTabbingOrder( + 'cx-page-layout.MultiStepCheckoutSummaryPageTemplate', + config.shippingAddressAccount + ); + } + // cy.wait(2000); + // End GC change cy.get('button.btn-primary').should('be.enabled').click(); cy.wait(`@${deliveryPage}`).its('response.statusCode').should('eq', 200); diff --git a/projects/storefrontapp-e2e-cypress/cypress/sample-data/b2b-checkout.ts b/projects/storefrontapp-e2e-cypress/cypress/sample-data/b2b-checkout.ts index 246ef5a0444..fc848b25aa4 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/sample-data/b2b-checkout.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/sample-data/b2b-checkout.ts @@ -18,6 +18,7 @@ export const USER_REQUEST_ENDPOINT = 'orgUsers'; export const ORDER_REQUEST_ENDPOINT = 'replenishmentOrders'; export const poNumber = '123'; export const costCenter = 'Rustic Global'; +export const costCenterId = 'Rustic_Global'; export const b2bUnit = 'Rustic'; export const replenishmentDay = '8'; export const replenishmentDate = '2100-01-01'; From eb89fca73545a2160e1fda75a8029f990021e8f6 Mon Sep 17 00:00:00 2001 From: Giancarlo Cordero Ortiz Date: Tue, 8 Oct 2024 14:47:27 -0400 Subject: [PATCH 6/6] Ran prettier fix. Placeholder for further comments --- .../cypress/helpers/b2b/b2b-checkout.ts | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-checkout.ts b/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-checkout.ts index f7469311b01..6de2cbe6c7d 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-checkout.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/helpers/b2b/b2b-checkout.ts @@ -214,10 +214,9 @@ export function selectAccountPayment() { // first element of Cost Center is the default one, always match the combo-box selection b2bDeliveryAddress.id = xhr.response.body.costCenters[0].unit.addresses[0].id; - cy.log("Cost center update required"); - } - else{ - cy.log("Cost center update not required"); + cy.log('Cost center update required'); + } else { + cy.log('Cost center update not required'); } // cy.pause(); }); @@ -260,10 +259,9 @@ export function selectAccountShippingAddress(a11yCheck: boolean = false) { }); cy.wait(2000); - cy.get('.card-body').click({force: true}); - - // // cy.get('cx-card .card-header').should('contain', 'Selected'); + cy.get('.card-body').click({ force: true }); + // cy.get('cx-card .card-header').should('contain', 'Selected'); /** * Delivery mode PUT intercept is not in selectAccountDeliveryMode() * because it doesn't choose a delivery mode and the intercept might have missed timing depending on cypress's performance @@ -275,16 +273,29 @@ export function selectAccountShippingAddress(a11yCheck: boolean = false) { ); // Accessibility - // GC -> Disable for now. - if (a11yCheck){ - verifyTabbingOrder( - 'cx-page-layout.MultiStepCheckoutSummaryPageTemplate', - config.shippingAddressAccount - ); + // GC -> Disable for now because of random errors. + if (a11yCheck) { + verifyTabbingOrder( + 'cx-page-layout.MultiStepCheckoutSummaryPageTemplate', + config.shippingAddressAccount + ); } // cy.wait(2000); // End GC change + // Funny, yet, thoughtful phrases to consider while load testing a new server. + // GC: Rather difficult to deploy linux servers and watch Champions league at the same time... + // Colleague 1: + // Colleague 2: + // Colleague 3: + // Colleague 4: + // Colleague 5: + // Colleague 6: + // Colleague 7: + // Colleague 8: + // Colleague 9: + // Colleague 10: + cy.get('button.btn-primary').should('be.enabled').click(); cy.wait(`@${deliveryPage}`).its('response.statusCode').should('eq', 200); cy.wait(`@${putDeliveryMode}`).its('response.statusCode').should('eq', 200);