// / // / import faker from "faker"; import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors"; import { shippingZoneDetailsUrl } from "../../../fixtures/urlList"; import { createShippingZone, getShippingZone } from "../../../support/api/requests/ShippingMethod"; import { createWarehouse } from "../../../support/api/requests/Warehouse"; import { getDefaultChannel } from "../../../support/api/utils/channelsUtils"; import { deleteShippingStartsWith } from "../../../support/api/utils/shippingUtils"; import filterTests from "../../../support/filterTests"; import { fillUpShippingZoneData } from "../../../support/pages/shippingMethodPage"; filterTests({ definedTags: ["all"] }, () => { describe("Edit shipping zone", () => { const startsWith = "EditShipping-"; const name = `${startsWith}${faker.datatype.number()}`; let defaultChannel; let shippingZone; let plAddress; before(() => { cy.clearSessionData().loginUserViaRequest(); deleteShippingStartsWith(startsWith); getDefaultChannel() .then(channel => { defaultChannel = channel; cy.fixture("addresses"); }) .then(addresses => { plAddress = addresses.plAddress; createWarehouse({ name, address: plAddress }); }); }); beforeEach(() => { const rateName = `${startsWith}${faker.datatype.number()}`; cy.clearSessionData().loginUserViaRequest(); createShippingZone(name, "US", defaultChannel.id).then( shippingZoneResp => { shippingZone = shippingZoneResp; } ); }); it("Update shipping zone", () => { const updatedName = `${startsWith}Updated`; cy.visit(shippingZoneDetailsUrl(shippingZone.id)); fillUpShippingZoneData({ channelName: defaultChannel.name, country: "Poland", shippingName: updatedName, warehouseName: name }); getShippingZone(shippingZone.id).then(shippingZone => { chai.softExpect(shippingZone.channels).to.have.length(0); chai.softExpect(shippingZone.name).to.eq(updatedName); chai.softExpect(shippingZone.description).to.eq(updatedName); chai.softExpect(shippingZone.warehouses[0].name).to.eq(name); expect(shippingZone.countries.find(el => el.code === "PL")).to.be.ok; }); }); it("Delete shipping zone", () => { cy.visit( shippingZoneDetailsUrl(shippingZone.id) ).deleteElementWithReqAlias("DeleteShippingZone"); getShippingZone(shippingZone.id).should("be.null"); }); }); });