From 6d5b894dd986b149549e5354383a238b18ee4c52 Mon Sep 17 00:00:00 2001 From: Karolina Rakoczy Date: Thu, 28 Apr 2022 10:56:56 +0200 Subject: [PATCH] fix shipping method (#2014) * fix shipping method * shippings fixed * fix jest --- .../elements/shared/unsavedChangesDialog.js | 4 + .../shipping/shipping-zone-details.js | 4 +- cypress/support/pages/shippingMethodPage.js | 46 +++++----- package.json | 2 +- src/components/Form/ExitFormDialog.tsx | 2 +- .../MultiAutocompleteSelectField.tsx | 1 + .../ChannelsSection.tsx | 1 + .../__snapshots__/Stories.test.ts.snap | 89 ++++++++++++------- 8 files changed, 88 insertions(+), 61 deletions(-) create mode 100644 cypress/elements/shared/unsavedChangesDialog.js diff --git a/cypress/elements/shared/unsavedChangesDialog.js b/cypress/elements/shared/unsavedChangesDialog.js new file mode 100644 index 000000000..f2f58799a --- /dev/null +++ b/cypress/elements/shared/unsavedChangesDialog.js @@ -0,0 +1,4 @@ +export const UNSAVED_CHANGES_DIALOG = { + leaveWithoutSavingButton: '[data-test-id="leave-without-saving"]', + saveAndContinueButton: '[data-test-id="save-and-continue"]' +}; diff --git a/cypress/elements/shipping/shipping-zone-details.js b/cypress/elements/shipping/shipping-zone-details.js index 329f9d78e..2eb32384c 100644 --- a/cypress/elements/shipping/shipping-zone-details.js +++ b/cypress/elements/shipping/shipping-zone-details.js @@ -11,7 +11,7 @@ export const SHIPPING_ZONE_DETAILS = { autocompleteContentDialog: "[data-test-id='multi-autocomplete-select-content']", option: "[data-test-id='multi-autocomplete-select-option']", - warehouseSelector: "[placeholder*='Warehouse']", - channelSelector: "[placeholder*='Channel']", + warehouseSelector: "[testId='warehouses']", + channelSelector: "[testId='channels']", removeWarehouseButton: "[data-test-id='warehouses-remove']" }; diff --git a/cypress/support/pages/shippingMethodPage.js b/cypress/support/pages/shippingMethodPage.js index ef094ea5e..c59caf9bb 100644 --- a/cypress/support/pages/shippingMethodPage.js +++ b/cypress/support/pages/shippingMethodPage.js @@ -1,5 +1,6 @@ import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors"; import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements"; +import { UNSAVED_CHANGES_DIALOG } from "../../elements/shared/unsavedChangesDialog"; import { SHIPPING_RATE_DETAILS } from "../../elements/shipping/shipping-rate-details"; import { SHIPPING_ZONE_DETAILS } from "../../elements/shipping/shipping-zone-details"; import { SHIPPING_ZONES_LIST } from "../../elements/shipping/shipping-zones-list"; @@ -31,12 +32,26 @@ export function fillUpShippingZoneData({ .clearAndType(shippingName) .get(BUTTON_SELECTORS.confirm) .click() - .confirmationMessageShouldDisappear() + .confirmationMessageShouldAppear() + + .get(SHIPPING_ZONE_DETAILS.warehouseSelector) + .click() + .get(SHIPPING_ZONE_DETAILS.warehouseSelector) + .type(warehouseName) + .get(SHIPPING_ZONE_DETAILS.autocompleteContentDialog); + cy.contains(SHIPPING_ZONE_DETAILS.option, warehouseName) + .click({ force: true }) + .get(SHIPPING_ZONE_DETAILS.channelSelector) + .click() + .get(SHIPPING_ZONE_DETAILS.option) + .contains(channelName) + .click() .get(SHIPPING_ZONE_DETAILS.assignCountryButton) .click() .get(SHIPPING_ZONE_DETAILS.searchInput) .type(country); - cy.contains(SHIPPING_ZONE_DETAILS.tableRow, country) + return cy + .contains(SHIPPING_ZONE_DETAILS.tableRow, country) .find(BUTTON_SELECTORS.checkbox) .click() .get(SHIPPING_ZONE_DETAILS.submitAssignCountry) @@ -44,25 +59,8 @@ export function fillUpShippingZoneData({ .get(BUTTON_SELECTORS.confirm) .click() .confirmationMessageShouldDisappear() - .get(SHIPPING_ZONE_DETAILS.warehouseSelector) - .click() - .get(SHIPPING_ZONE_DETAILS.warehouseSelector) - .type(warehouseName) - .get(SHIPPING_ZONE_DETAILS.autocompleteContentDialog) - .scrollTo("bottom"); - return cy - .contains(SHIPPING_ZONE_DETAILS.option, warehouseName) - .click({ force: true }) - .get(SHIPPING_ZONE_DETAILS.channelSelector) - .click() - .get(SHIPPING_ZONE_DETAILS.option) - .contains(channelName) - .click() .addAliasToGraphRequest("UpdateShippingZone") - .get(BUTTON_SELECTORS.confirm) - .click() - .confirmationMessageShouldDisappear() - .waitForRequestAndCheckIfNoErrors("@UpdateShippingZone"); + .reload(); } export function changeWeightUnit(weightUnit) { @@ -70,7 +68,7 @@ export function changeWeightUnit(weightUnit) { .addAliasToGraphRequest("UpdateDefaultWeightUnit") .get(SHIPPING_ZONES_LIST.saveUnit) .click() - .confirmationMessageShouldDisappear() + .confirmationMessageShouldAppear() .waitForRequestAndCheckIfNoErrors("@UpdateDefaultWeightUnit") .wait(5000); } @@ -166,10 +164,10 @@ export function saveRate() { .addAliasToGraphRequest("ShippingZone") .get(BUTTON_SELECTORS.confirm) .click() - .confirmationMessageShouldDisappear() + .confirmationMessageShouldAppear() .waitForRequestAndCheckIfNoErrors(`@ShippingMethodChannelListingUpdate`) .waitForRequestAndCheckIfNoErrors(`@ShippingZone`) - .its("response.body.0.data.shippingZone"); + .its("response.body.data.shippingZone"); } export function saveRateAfterUpdate() { @@ -177,7 +175,7 @@ export function saveRateAfterUpdate() { .addAliasToGraphRequest("ShippingMethodChannelListingUpdate") .get(BUTTON_SELECTORS.confirm) .click() - .confirmationMessageShouldDisappear() + .confirmationMessageShouldAppear() .waitForRequestAndCheckIfNoErrors(`@ShippingMethodChannelListingUpdate`); } diff --git a/package.json b/package.json index 5cb855060..ff009249f 100644 --- a/package.json +++ b/package.json @@ -274,7 +274,7 @@ "cy:run:refactored:locally": "cypress run --env tags=refactored --spec 'cypress/integration/navigation.js','cypress/integration/products/createProduct.js', 'cypress/integration/products/productsVariants.js', --reporter cypress-mochawesome-reporter --reporter-options reportDir='cypress/reports',overwrite=true,charts=true", "cy:run:critical": "cypress run --record --env tags=critical --spec 'cypress/integration/navigation.js','cypress/integration/products/createProduct.js', 'cypress/integration/products/productsVariants.js'", "cy:run:allEnv": "cypress run --record --env tags=all", - "cy:run:allEnv:parallel": "cypress run --record --env tags=all --parallel", + "cy:run:allEnv:parallel": "cypress run --record --env tags=all --parallel", "test:e2e:run": "start-server-and-test start http://localhost:9000 cy:run", "test:e2e:run:record": "start-server-and-test start http://localhost:9000 cy:run:record", "test:e2e:dev": "start-server-and-test start http://localhost:9000 cy:open", diff --git a/src/components/Form/ExitFormDialog.tsx b/src/components/Form/ExitFormDialog.tsx index cdcf2ff4e..71188cfb6 100644 --- a/src/components/Form/ExitFormDialog.tsx +++ b/src/components/Form/ExitFormDialog.tsx @@ -56,7 +56,7 @@ const ExitFormDialog: React.FC = ({ />
- diff --git a/src/components/MultiAutocompleteSelectField/MultiAutocompleteSelectField.tsx b/src/components/MultiAutocompleteSelectField/MultiAutocompleteSelectField.tsx index 57ae0f665..3b1ef75bb 100644 --- a/src/components/MultiAutocompleteSelectField/MultiAutocompleteSelectField.tsx +++ b/src/components/MultiAutocompleteSelectField/MultiAutocompleteSelectField.tsx @@ -217,6 +217,7 @@ const MultiAutocompleteSelectFieldComponent: React.FC = ({ onChange={onChange} placeholder={intl.formatMessage(messages.selectFieldPlaceholder)} value={selectedChannels} + testId="channels" /> ); diff --git a/src/storybook/__snapshots__/Stories.test.ts.snap b/src/storybook/__snapshots__/Stories.test.ts.snap index f83345934..c913f5a2f 100644 --- a/src/storybook/__snapshots__/Stories.test.ts.snap +++ b/src/storybook/__snapshots__/Stories.test.ts.snap @@ -24100,6 +24100,7 @@ exports[`Storyshots Shipping zones details / Settings Card default 1`] = ` id="downshift-42-menu" placeholder="Add Channel" role="listbox" + testid="channels" type="text" value="" /> @@ -24158,7 +24159,7 @@ exports[`Storyshots Shipping zones details / Settings Card default 1`] = `