Skip to content

Commit

Permalink
Enabling github actions for SFRA 7 (#1075)
Browse files Browse the repository at this point in the history
* test: support SFRA v7 in e2e tests

* test: support SFRA v7 in e2e tests
  • Loading branch information
shanikantsingh committed Apr 26, 2024
1 parent 5fbcfed commit d6d8f1a
Show file tree
Hide file tree
Showing 16 changed files with 997 additions and 442 deletions.
16 changes: 14 additions & 2 deletions .github/workflows/E2E_SFRA.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,17 @@ jobs:
matrix:
include:
- sfra-version: 'v5.3.0'
node-version: '14'
sfcc-hostname-secret: 'SFCC_HOSTNAME_SFRA5'
code-version-secret: 'SFCC_CODE_VERSION_SFRA5'
- sfra-version: 'v6.1.0'
node-version: '14'
sfcc-hostname-secret: 'SFCC_HOSTNAME_SFRA6'
code-version-secret: 'SFCC_CODE_VERSION_SFRA6'
- sfra-version: 'v7.0.0'
node-version: '18'
sfcc-hostname-secret: 'SFCC_HOSTNAME_SFRA7'
code-version-secret: 'SFCC_CODE_VERSION_SFRA7'
steps:
- name: Checkout SFRA code
uses: actions/checkout@v3
Expand All @@ -31,7 +37,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '14'
node-version: ${{ matrix.node-version }}
- name: Checkout
uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -75,16 +81,22 @@ jobs:
matrix:
include:
- sfra-version: 'v5.3.0'
node-version: '16'
sfcc-hostname-secret: 'SFCC_STOREFRONT_URL_SFRA5'
code-version-secret: 'SFCC_CODE_VERSION_SFRA5'
- sfra-version: 'v6.1.0'
node-version: '16'
sfcc-hostname-secret: 'SFCC_STOREFRONT_URL_SFRA6'
code-version-secret: 'SFCC_CODE_VERSION_SFRA6'
- sfra-version: 'v7.0.0'
node-version: '18'
sfcc-hostname-secret: 'SFCC_STOREFRONT_URL_SFRA7'
code-version-secret: 'SFCC_CODE_VERSION_SFRA7'
steps:
- name: setup Node
uses: actions/setup-node@v3
with:
node-version: '16'
node-version: ${{ matrix.node-version }}
- name: Checkout
uses: actions/checkout@v3
with:
Expand Down
9 changes: 9 additions & 0 deletions tests/playwright/data/environments.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,13 @@ if (process.env.SFRA_VERSION === 'v6.1.0') {
});
}

if (process.env.SFRA_VERSION === 'v7.0.0') {
environments.push({
name: 'SFRA v7.0.0',
CheckoutPage: CheckoutPageSFRA6,
urlExtension: '/s/RefArch/home',
AccountPage: AccountPageSFRA,
});
}


2 changes: 1 addition & 1 deletion tests/playwright/fixtures/BRL.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ for (const environment of environments) {

await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.BR);
await checkoutPage.setShopperDetails(shopperData.BR);
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down
2 changes: 1 addition & 1 deletion tests/playwright/fixtures/DKK.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ for (const environment of environments) {
checkoutPage = new environment.CheckoutPage(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.DK);
await checkoutPage.setShopperDetails(shopperData.DK);
if (environment.name.indexOf('v6') === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down
2 changes: 1 addition & 1 deletion tests/playwright/fixtures/INR.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ for (const environment of environments) {
checkoutPage = new environment.CheckoutPage(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.IN);
await checkoutPage.setShopperDetails(shopperData.IN);
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down
2 changes: 1 addition & 1 deletion tests/playwright/fixtures/JPY.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ for (const environment of environments) {
checkoutPage = new environment.CheckoutPage(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.JP);
await checkoutPage.setShopperDetails(shopperData.JP);
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down
2 changes: 1 addition & 1 deletion tests/playwright/fixtures/NOK.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ for (const environment of environments) {
checkoutPage = new environment.CheckoutPage(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.NO);
await checkoutPage.setShopperDetails(shopperData.NO);
if (environment.name.indexOf('v6') === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down
2 changes: 1 addition & 1 deletion tests/playwright/fixtures/SEK.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ for (const environment of environments) {
checkoutPage = new environment.CheckoutPage(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.SE);
await checkoutPage.setShopperDetails(shopperData.SE);
if (environment.name.indexOf('v6') === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down
18 changes: 9 additions & 9 deletions tests/playwright/fixtures/USD.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ for (const environment of environments) {

await page.goto(`${environment.urlExtension}`);
await goToBillingWithFullCartGuestUser();
// SFRA 6 email setting flow is different
if (environment.name.indexOf('v6') === -1) {
// SFRA 5 email setting flow is different
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
}
});
Expand Down Expand Up @@ -95,7 +95,7 @@ for (const environment of environments) {

test('GiftCard Only Success @quick', async () => {
await goToBillingWithFullCartGuestUser();
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
await cards.doGiftCardPayment(cardData.giftCard);
Expand All @@ -105,7 +105,7 @@ for (const environment of environments) {

test('GiftCard & Card Success @quick', async () => {
await goToBillingWithFullCartGuestUser(3);
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
await cards.doGiftCardPayment(cardData.giftCard);
Expand All @@ -116,7 +116,7 @@ for (const environment of environments) {

test('Remove Gift Card', async ({ page }) => {
await goToBillingWithFullCartGuestUser(3);
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
}
await cards.doGiftCardPayment(cardData.giftCard);
Expand All @@ -135,7 +135,7 @@ for (const environment of environments) {
await page.goto(`/s/RefArch/25720033M.html?lang=${locale}`);
await page.locator('.add-to-cart').click();
await checkoutPage.navigateToCheckout(regionsEnum.US);
if (environment.name.indexOf('v6') === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.checkoutGuest.click();
}
await checkoutPage.submitShipping();
Expand All @@ -155,7 +155,7 @@ for (const environment of environments) {

test('Affirm Fail', async ({ page }) => {
redirectShopper = new RedirectShopper(page);
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
await redirectShopper.doAffirmPayment(shopperData.US);
Expand All @@ -165,7 +165,7 @@ for (const environment of environments) {
});

test.skip('CashApp Renders', async ({ page }) => {
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
await new PaymentMethodsPage(page).initiateCashAppPayment();
Expand All @@ -180,7 +180,7 @@ for (const environment of environments) {
accountPage = new environment.AccountPage(page);
cards = new Cards(page);
await goToBillingWithFullCartLoggedInUser();
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down
4 changes: 2 additions & 2 deletions tests/playwright/fixtures/countriesEUR/AT.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ for (const environment of environments) {
checkoutPage = new environment.CheckoutPage(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU);
await checkoutPage.setShopperDetails(shopperData.AT);
// SFRA 6 email setting flow is different
if (environment.name.indexOf('v6') === -1) {
// SFRA 5 email setting flow is different
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down
4 changes: 2 additions & 2 deletions tests/playwright/fixtures/countriesEUR/BE.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ for (const environment of environments) {
cards = new Cards(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU);
await checkoutPage.setShopperDetails(shopperData.BE);
// SFRA 6 email setting flow is different
if (environment.name.indexOf('v6') === -1) {
// SFRA 5 email setting flow is different
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down
4 changes: 2 additions & 2 deletions tests/playwright/fixtures/countriesEUR/DE.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ for (const environment of environments) {
checkoutPage = new environment.CheckoutPage(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU);
await checkoutPage.setShopperDetails(shopperData.DE);
// SFRA 6 email setting flow is different
if (environment.name.indexOf('v6') === -1) {
// SFRA 5 email setting flow is different
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down
12 changes: 6 additions & 6 deletions tests/playwright/fixtures/countriesEUR/FR.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ for (const environment of environments) {
});
test('Oney Success', async ({ page }) => {
// Skipping the test for SFRA5
if (environment.name.indexOf('v6') === -1) test.skip();
if (environment.name.indexOf('v5') !== -1) test.skip();

await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU, 4);
await checkoutPage.setShopperDetails(shopperData.FR);
Expand All @@ -34,8 +34,8 @@ for (const environment of environments) {
test('Oney Fail', async ({ page }) => {
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU, 1);
await checkoutPage.setShopperDetails(shopperData.FR);
// SFRA 6 email setting flow is different
if (environment.name.indexOf('v6') === -1) {
// SFRA 5 email setting flow is different
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
redirectShopper = new RedirectShopper(page);
Expand All @@ -55,7 +55,7 @@ test.describe.parallel(`${environment.name} EUR FR`, () => {
test('No 3DS Amazon Pay @quick', async ({ page }) => {
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU);
await checkoutPage.setShopperDetails(shopperData.FR);
if (environment.name.indexOf('v6') === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
}
redirectShopper = new RedirectShopper(page);
Expand All @@ -67,7 +67,7 @@ test.describe.parallel(`${environment.name} EUR FR`, () => {
test('3DS2 Amazon Pay', async ({ page }) => {
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU);
await checkoutPage.setShopperDetails(shopperData.FR);
if (environment.name.indexOf('v6') === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
}
redirectShopper = new RedirectShopper(page);
Expand All @@ -90,7 +90,7 @@ test.describe.parallel(`${environment.name} EUR FR`, () => {
test('Amazon Pay Failure', async ({ page }) => {
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU);
await checkoutPage.setShopperDetails(shopperData.FR);
if (environment.name.indexOf('v6') === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
}
redirectShopper = new RedirectShopper(page);
Expand Down
8 changes: 4 additions & 4 deletions tests/playwright/fixtures/countriesEUR/NL.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ for (const environment of environments) {
checkoutPage = new environment.CheckoutPage(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU);
await checkoutPage.setShopperDetails(shopperData.NL);
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down Expand Up @@ -59,7 +59,7 @@ for (const environment of environments) {
checkoutPage = new environment.CheckoutPage(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU);
await checkoutPage.setShopperDetails(shopperData.NL);
if (environment.name.indexOf("v6") === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand Down Expand Up @@ -94,8 +94,8 @@ for (const environment of environments) {

test('Google Pay Success', async ({ page }) => {
pendingPayments = new PendingPayments(page);
// SFRA 6 email setting flow is different
if (environment.name.indexOf("v6") === -1) {
// SFRA 5 email setting flow is different
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
}
await pendingPayments.doGooglePayPayment();
Expand Down
6 changes: 3 additions & 3 deletions tests/playwright/fixtures/countriesEUR/PT.spec.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ for (const environment of environments) {
checkoutPage = new environment.CheckoutPage(page);
await checkoutPage.goToCheckoutPageWithFullCart(regionsEnum.EU);
await checkoutPage.setShopperDetails(shopperData.PT);
if (environment.name.indexOf('v6') === -1) {
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
};
});
Expand All @@ -37,8 +37,8 @@ for (const environment of environments) {
test.fixme('MBWay Success', async ({ page }) => {
pendingPayments = new PendingPayments(page);

// SFRA 6 email setting flow is different
if (environment.name.indexOf("v6") === -1) {
// SFRA 5 email setting flow is different
if (environment.name.indexOf('v5') !== -1) {
await checkoutPage.setEmail();
}
await pendingPayments.doMBWayPayment();
Expand Down
Loading

0 comments on commit d6d8f1a

Please sign in to comment.