2021-09-27 10:04:21 +00:00
|
|
|
import { ADD_CHANNEL_FORM_SELECTORS } from "../../elements/channels/add-channel-form-selectors";
|
|
|
|
import { AVAILABLE_CHANNELS_FORM } from "../../elements/channels/available-channels-form";
|
|
|
|
import { CHANNEL_FORM_SELECTORS } from "../../elements/channels/channel-form-selectors";
|
|
|
|
import { CHANNELS_SELECTORS } from "../../elements/channels/channels-selectors";
|
|
|
|
import { SELECT_CHANNELS_TO_ASSIGN } from "../../elements/channels/select-channels-to-assign";
|
|
|
|
import { HEADER_SELECTORS } from "../../elements/header/header-selectors";
|
|
|
|
import { BUTTON_SELECTORS } from "../../elements/shared/button-selectors";
|
|
|
|
import { SHARED_ELEMENTS } from "../../elements/shared/sharedElements";
|
|
|
|
import { urlList } from "../../fixtures/urlList";
|
2021-02-11 13:58:05 +00:00
|
|
|
|
2021-06-30 23:14:25 +00:00
|
|
|
export function createChannelByView({
|
|
|
|
name,
|
|
|
|
currency,
|
|
|
|
slug = name,
|
2021-09-10 08:59:46 +00:00
|
|
|
shippingZone,
|
2022-07-29 08:15:33 +00:00
|
|
|
defaultCountry = "Poland",
|
|
|
|
warehouse,
|
2021-06-30 23:14:25 +00:00
|
|
|
}) {
|
|
|
|
cy.addAliasToGraphRequest("Channel")
|
|
|
|
.get(CHANNELS_SELECTORS.createChannelButton)
|
2021-03-12 12:14:18 +00:00
|
|
|
.click()
|
|
|
|
.get(ADD_CHANNEL_FORM_SELECTORS.channelName)
|
|
|
|
.type(name)
|
|
|
|
.get(ADD_CHANNEL_FORM_SELECTORS.slug)
|
|
|
|
.type(slug)
|
|
|
|
.get(ADD_CHANNEL_FORM_SELECTORS.currency)
|
|
|
|
.click();
|
|
|
|
cy.get(ADD_CHANNEL_FORM_SELECTORS.currency).type(currency);
|
|
|
|
cy.get("body").then($body => {
|
|
|
|
if ($body.find(currency).length) {
|
|
|
|
cy.contains(ADD_CHANNEL_FORM_SELECTORS.currencyOptions, currency).click();
|
2021-02-11 13:58:05 +00:00
|
|
|
} else {
|
2021-03-12 12:14:18 +00:00
|
|
|
cy.get(ADD_CHANNEL_FORM_SELECTORS.currencyAutocompleteDropdown).click();
|
2021-02-11 13:58:05 +00:00
|
|
|
}
|
2021-03-12 12:14:18 +00:00
|
|
|
});
|
2021-09-27 10:04:21 +00:00
|
|
|
cy.fillAutocompleteSelect(
|
2021-09-10 08:59:46 +00:00
|
|
|
ADD_CHANNEL_FORM_SELECTORS.countryAutocompleteInput,
|
2022-07-29 08:15:33 +00:00
|
|
|
defaultCountry,
|
2021-09-10 08:59:46 +00:00
|
|
|
);
|
2021-06-30 23:14:25 +00:00
|
|
|
if (shippingZone) {
|
|
|
|
addShippingZone(shippingZone);
|
|
|
|
}
|
2022-07-29 08:15:33 +00:00
|
|
|
if (warehouse) {
|
|
|
|
addWarehouse(warehouse);
|
|
|
|
}
|
2021-03-12 12:14:18 +00:00
|
|
|
cy.get(ADD_CHANNEL_FORM_SELECTORS.saveButton).click();
|
2021-02-11 13:58:05 +00:00
|
|
|
}
|
2021-06-30 23:14:25 +00:00
|
|
|
|
|
|
|
export function addShippingZone(shippingZone) {
|
|
|
|
cy.get(BUTTON_SELECTORS.expandIcon)
|
2022-07-29 08:15:33 +00:00
|
|
|
.first()
|
2021-06-30 23:14:25 +00:00
|
|
|
.click()
|
|
|
|
.get(ADD_CHANNEL_FORM_SELECTORS.addShippingZoneButton)
|
2021-09-27 10:04:21 +00:00
|
|
|
.click()
|
|
|
|
.fillAutocompleteSelect(
|
|
|
|
ADD_CHANNEL_FORM_SELECTORS.shippingAutocompleteSelect,
|
2022-07-29 08:15:33 +00:00
|
|
|
shippingZone,
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function addWarehouse(warehouse) {
|
|
|
|
cy.get(BUTTON_SELECTORS.expandIcon)
|
|
|
|
.last()
|
|
|
|
.click()
|
|
|
|
.get(ADD_CHANNEL_FORM_SELECTORS.addWarehouseButton)
|
|
|
|
.click()
|
|
|
|
.fillAutocompleteSelect(
|
|
|
|
ADD_CHANNEL_FORM_SELECTORS.warehouseAutocompleteSelect,
|
|
|
|
warehouse,
|
2021-09-27 10:04:21 +00:00
|
|
|
);
|
2021-06-30 23:14:25 +00:00
|
|
|
}
|
|
|
|
|
2021-03-15 13:16:02 +00:00
|
|
|
export function selectChannelInPicker(channelName) {
|
|
|
|
cy.get(CHANNEL_FORM_SELECTORS.channelSelect).click();
|
|
|
|
cy.contains(CHANNEL_FORM_SELECTORS.channelOption, channelName)
|
|
|
|
.click()
|
|
|
|
.get(CHANNEL_FORM_SELECTORS.confirmButton)
|
|
|
|
.click();
|
|
|
|
}
|
2021-06-30 23:14:25 +00:00
|
|
|
|
2021-03-15 13:16:02 +00:00
|
|
|
export function selectChannelInHeader(channelName) {
|
2021-07-12 13:35:26 +00:00
|
|
|
cy.get(HEADER_SELECTORS.channelSelect).click();
|
|
|
|
cy.contains(SHARED_ELEMENTS.selectOption, channelName)
|
2022-05-13 12:08:29 +00:00
|
|
|
.click({ force: true })
|
|
|
|
.get(SHARED_ELEMENTS.selectOption)
|
|
|
|
.should("not.exist");
|
2021-03-15 13:16:02 +00:00
|
|
|
}
|
2021-06-30 23:14:25 +00:00
|
|
|
|
2021-03-23 10:15:39 +00:00
|
|
|
export function selectChannelInDetailsPages(channelName) {
|
2022-12-30 07:21:28 +00:00
|
|
|
cy.get(AVAILABLE_CHANNELS_FORM.manageChannelsButton)
|
2021-03-23 10:15:39 +00:00
|
|
|
.click()
|
2021-04-01 12:33:36 +00:00
|
|
|
.get(SELECT_CHANNELS_TO_ASSIGN.allChannelsCheckbox)
|
|
|
|
.click();
|
|
|
|
if (channelName) {
|
|
|
|
cy.get(SELECT_CHANNELS_TO_ASSIGN.listOfChannels)
|
|
|
|
.contains(channelName)
|
|
|
|
.click();
|
|
|
|
} else {
|
|
|
|
cy.get(SELECT_CHANNELS_TO_ASSIGN.channelRow)
|
|
|
|
.first()
|
|
|
|
.find(SELECT_CHANNELS_TO_ASSIGN.channelCheckbox)
|
|
|
|
.click();
|
|
|
|
}
|
|
|
|
cy.get(SELECT_CHANNELS_TO_ASSIGN.selectChannelsForm)
|
2021-03-23 10:15:39 +00:00
|
|
|
.find(BUTTON_SELECTORS.submit)
|
2021-11-03 11:29:59 +00:00
|
|
|
.click({ force: true });
|
2021-03-23 10:15:39 +00:00
|
|
|
}
|
2021-06-30 23:14:25 +00:00
|
|
|
|
2021-04-21 13:14:38 +00:00
|
|
|
export function selectChannelVariantInDetailsPage(channelName, attributeName) {
|
2022-12-30 07:21:28 +00:00
|
|
|
cy.get(AVAILABLE_CHANNELS_FORM.manageChannelsButton).click();
|
2022-08-10 10:29:17 +00:00
|
|
|
const channelsNames = Array.isArray(channelName)
|
|
|
|
? channelName
|
|
|
|
: [channelName];
|
|
|
|
channelsNames.forEach(name => {
|
|
|
|
cy.contains(SELECT_CHANNELS_TO_ASSIGN.expandChannelRow, name)
|
|
|
|
.find(BUTTON_SELECTORS.expandIcon)
|
|
|
|
.click();
|
|
|
|
cy.contains(SELECT_CHANNELS_TO_ASSIGN.expandChannelRow, name)
|
|
|
|
.contains(SELECT_CHANNELS_TO_ASSIGN.channelVariantRow, attributeName)
|
|
|
|
.find(BUTTON_SELECTORS.checkbox)
|
|
|
|
.click();
|
|
|
|
});
|
2021-04-21 13:14:38 +00:00
|
|
|
cy.get(SELECT_CHANNELS_TO_ASSIGN.selectChannelsForm)
|
|
|
|
.find(BUTTON_SELECTORS.submit)
|
2021-11-03 11:15:39 +00:00
|
|
|
.click({ force: true });
|
2021-04-21 13:14:38 +00:00
|
|
|
}
|
2021-09-10 08:59:46 +00:00
|
|
|
|
|
|
|
export function enterHomePageAndChangeChannel(channelName) {
|
|
|
|
cy.visit(urlList.homePage);
|
|
|
|
selectChannelInHeader(channelName);
|
|
|
|
}
|
|
|
|
|
|
|
|
export function enterHomePageChangeChannelAndReturn(channelName) {
|
|
|
|
cy.url().then(url => {
|
|
|
|
enterHomePageAndChangeChannel(channelName);
|
|
|
|
cy.visit(url);
|
|
|
|
});
|
|
|
|
}
|