141 lines
4.2 KiB
JavaScript
141 lines
4.2 KiB
JavaScript
import { SHARED_ELEMENTS } from "../../../elements";
|
|
import { GIFT_CARD_DIALOG } from "../../../elements/catalog/giftCard/giftCardDialog";
|
|
import {
|
|
GIFT_CARD_LIST,
|
|
giftCardRow,
|
|
} from "../../../elements/catalog/giftCard/giftCardList";
|
|
import { GIFT_CARD_SHOW_MORE } from "../../../elements/catalog/giftCard/giftCardShowMore";
|
|
import { GIFT_CARD_UPDATE } from "../../../elements/catalog/giftCard/giftCardUpdate";
|
|
import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
|
|
import { giftCardDetailsUrl, urlList } from "../../../fixtures/urlList";
|
|
|
|
export function openAndFillUpCreateGiftCardDialog({
|
|
note,
|
|
tag,
|
|
amount,
|
|
currency,
|
|
}) {
|
|
cy.visit(urlList.giftCards)
|
|
.get(GIFT_CARD_LIST.issueCardButton)
|
|
.click()
|
|
.get(GIFT_CARD_DIALOG.currencySelectButton)
|
|
.click();
|
|
cy.contains(GIFT_CARD_DIALOG.currenciesOptions, currency)
|
|
.click()
|
|
.get(GIFT_CARD_DIALOG.amountInput)
|
|
.clearAndType(amount)
|
|
.createNewOption(GIFT_CARD_DIALOG.tagInput, tag)
|
|
.get(GIFT_CARD_DIALOG.noteInput)
|
|
.type(note);
|
|
}
|
|
|
|
export function saveGiftCard() {
|
|
return cy
|
|
.addAliasToGraphRequest("GiftCardCreate")
|
|
.get(BUTTON_SELECTORS.submit)
|
|
.click()
|
|
.get(BUTTON_SELECTORS.submit)
|
|
.click()
|
|
.waitForRequestAndCheckIfNoErrors("@GiftCardCreate")
|
|
.its("response.body.data.giftCardCreate.giftCard");
|
|
}
|
|
|
|
export const expiryPeriods = {
|
|
MONTH: GIFT_CARD_DIALOG.expirationOptions.expiryPeriodMonthType,
|
|
};
|
|
|
|
export function setExpiryPeriod(amount, period) {
|
|
cy.get(GIFT_CARD_DIALOG.expirationOptions.setExpiryDateCheckbox)
|
|
.click()
|
|
.get(GIFT_CARD_DIALOG.expirationOptions.expiryPeriodRadioButton)
|
|
.click()
|
|
.get(GIFT_CARD_DIALOG.expirationOptions.expiryPeriodAmount)
|
|
.clearAndType(amount)
|
|
.get(GIFT_CARD_DIALOG.expirationOptions.expiryPeriodTypeButton)
|
|
.click()
|
|
.get(period)
|
|
.click();
|
|
}
|
|
|
|
export function setExpiryDate(date) {
|
|
cy.get(GIFT_CARD_DIALOG.expirationOptions.setExpiryDateCheckbox)
|
|
.click()
|
|
.get(GIFT_CARD_DIALOG.expirationOptions.expiryDateRadioButton)
|
|
.click()
|
|
.get(GIFT_CARD_DIALOG.expirationOptions.expiryDateInput)
|
|
.type(date);
|
|
}
|
|
|
|
export function changeGiftCardActiveStatus(giftCardId) {
|
|
cy.visit(giftCardDetailsUrl(giftCardId))
|
|
.get(GIFT_CARD_UPDATE.changeActiveStatusButton)
|
|
.click()
|
|
.confirmationMessageShouldAppear();
|
|
}
|
|
|
|
export function selectGiftCard(giftCardId) {
|
|
return cy
|
|
.get(giftCardRow(giftCardId))
|
|
.find(GIFT_CARD_LIST.selectGiftCardCheckbox)
|
|
.click();
|
|
}
|
|
export function selectGiftCardOnListView(giftCardCode) {
|
|
const splitCode = giftCardCode.split("-");
|
|
const lastCodeElement = splitCode.slice(-1).toString();
|
|
cy.log(lastCodeElement);
|
|
return cy
|
|
.contains(
|
|
`${SHARED_ELEMENTS.dataGridTable} table tbody tr`,
|
|
lastCodeElement,
|
|
)
|
|
.invoke("index")
|
|
.then(index => {
|
|
cy.clickGridCell(0, index);
|
|
});
|
|
}
|
|
|
|
export function enterAndSelectGiftCards(giftCardsIds) {
|
|
const alias = "GiftCardList";
|
|
cy.addAliasToGraphRequest(alias)
|
|
.visit(urlList.giftCards)
|
|
.findElementsAndMakeActionOnTable({
|
|
elementsGraphqlAlias: alias,
|
|
elementsName: "giftCards",
|
|
elementsIds: giftCardsIds,
|
|
actionFunction: selectGiftCard,
|
|
});
|
|
}
|
|
export function openExportGiftCardsDialog() {
|
|
cy.get(BUTTON_SELECTORS.showMoreButton)
|
|
.click({ force: true })
|
|
.get(GIFT_CARD_SHOW_MORE.exportCodesMenu)
|
|
.click();
|
|
}
|
|
export function selectSelectedRecordsButton() {
|
|
cy.get(GIFT_CARD_SHOW_MORE.exportSelectedRecords).click();
|
|
}
|
|
export function selectExportAsCSVButton() {
|
|
cy.get(GIFT_CARD_SHOW_MORE.exportAsRadioBtn.csv).click();
|
|
}
|
|
export function selectExportAsXLSXButton() {
|
|
cy.get(GIFT_CARD_SHOW_MORE.exportAsRadioBtn.xlsx).click();
|
|
}
|
|
export function clickDeactivateButton() {
|
|
cy.get(GIFT_CARD_LIST.deactivateGiftCardButton).click();
|
|
}
|
|
export function bulkDeleteRecords() {
|
|
cy.get(BUTTON_SELECTORS.bulkDeleteButton)
|
|
.click()
|
|
.get(GIFT_CARD_UPDATE.consentCheckbox)
|
|
.click()
|
|
.get(BUTTON_SELECTORS.submit)
|
|
.click();
|
|
}
|
|
export function getUrlWithFilteredTags(url, tagsArray) {
|
|
const urlHelper = url + "?asc=true&sort=usedBy";
|
|
let tagsPath = "";
|
|
tagsArray.forEach((tag, index) => {
|
|
tagsPath += `&tag%5B${index}%5D=${tag}`;
|
|
});
|
|
return urlHelper + tagsPath;
|
|
}
|