From d2496679c0533211ca1a49fa1e8782d0612850c8 Mon Sep 17 00:00:00 2001 From: Karol Date: Fri, 2 Dec 2022 10:37:09 +0100 Subject: [PATCH] [cypress] Add tests for delete several gift cards (#2646) * done * pr fixes part1 * wip * pr adjustments * remove cy log --- .../catalog/giftCards/updatingGiftCards.js | 50 +++++++++++++++++++ .../elements/catalog/giftCard/giftCardList.js | 3 +- .../catalog/giftCard/giftCardUpdate.js | 2 +- .../catalog/products/products-list.js | 6 +++ cypress/elements/shared/button-selectors.js | 1 + .../DeleteIconButton/DeleteIconButton.tsx | 6 ++- src/components/TableHead/TableHead.tsx | 2 +- 7 files changed, 66 insertions(+), 4 deletions(-) diff --git a/cypress/e2e/catalog/giftCards/updatingGiftCards.js b/cypress/e2e/catalog/giftCards/updatingGiftCards.js index 20283f9c7..aabeadc1c 100644 --- a/cypress/e2e/catalog/giftCards/updatingGiftCards.js +++ b/cypress/e2e/catalog/giftCards/updatingGiftCards.js @@ -3,7 +3,9 @@ import faker from "faker"; +import { GIFT_CARD_LIST } from "../../../elements/catalog/giftCard/giftCardList"; import { GIFT_CARD_UPDATE } from "../../../elements/catalog/giftCard/giftCardUpdate"; +import { ASSIGN_ELEMENTS_SELECTORS } from "../../../elements/shared/assign-elements-selectors.js"; import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors"; import { giftCardDetailsUrl } from "../../../fixtures/urlList"; import { @@ -12,6 +14,7 @@ import { } from "../../../support/api/requests/GiftCard"; import { deleteGiftCardsWithTagStartsWith } from "../../../support/api/utils/catalog/giftCardUtils"; import { formatDate } from "../../../support/formatData/formatDate"; +import { enterAndSelectGiftCards } from "../../../support/pages/catalog/giftCardPage"; describe("As an admin I want to update gift card", () => { const startsWith = "updateGCard"; @@ -92,4 +95,51 @@ describe("As an admin I want to update gift card", () => { }); }, ); + + it( + "should be able to delete several gift cards. TC: SALEOR_1009", + { tags: ["@giftCard", "@allEnv", "@stable"] }, + () => { + const giftCard01 = `${startsWith}${faker.datatype.number()}`; + const giftCard02 = `${startsWith}${faker.datatype.number()}`; + let giftCard01hash; + let giftCard02hash; + + createGiftCard({ + tag: giftCard01, + amount: 3, + currency: "THB", + }) + .then(hash => { + giftCard01hash = hash.id; + createGiftCard({ + tag: giftCard02, + amount: 7, + currency: "THB", + }); + }) + .then(hash2 => { + giftCard02hash = hash2.id; + enterAndSelectGiftCards([giftCard01hash, giftCard02hash]); + cy.get(ASSIGN_ELEMENTS_SELECTORS.checkbox) + .first() + .check() + .should("be.checked") + .get(GIFT_CARD_LIST.selectedAmount) + .contains("Selected 2 items") + .should("be.visible") + .get(BUTTON_SELECTORS.deleteItemsButton) + .first() + .click() + .get(GIFT_CARD_UPDATE.consentCheckbox) + .click() + .get(BUTTON_SELECTORS.submit) + .click() + .get(ASSIGN_ELEMENTS_SELECTORS.checkbox) + .should("not.be.visible"); + getGiftCardWithId(giftCard01.id).should("be.null"); + getGiftCardWithId(giftCard02.id).should("be.null"); + }); + }, + ); }); diff --git a/cypress/elements/catalog/giftCard/giftCardList.js b/cypress/elements/catalog/giftCard/giftCardList.js index dc8b4b2ee..4519535ea 100644 --- a/cypress/elements/catalog/giftCard/giftCardList.js +++ b/cypress/elements/catalog/giftCard/giftCardList.js @@ -2,7 +2,8 @@ export const GIFT_CARD_LIST = { issueCardButton: '[data-test-id="issue-card-button"]', selectGiftCardCheckbox: '[data-test-id="select-gift-card-checkbox"]', deactivateGiftCardButton: '[data-test-id="deactivate-gift-cards"]', - activateGiftCardButton: '[data-test-id="activate-gift-cards"]' + activateGiftCardButton: '[data-test-id="activate-gift-cards"]', + selectedAmount: '[data-test-id="SelectedText"]', }; export const giftCardRow = giftCardId => diff --git a/cypress/elements/catalog/giftCard/giftCardUpdate.js b/cypress/elements/catalog/giftCard/giftCardUpdate.js index 7de16978f..6b02be031 100644 --- a/cypress/elements/catalog/giftCard/giftCardUpdate.js +++ b/cypress/elements/catalog/giftCard/giftCardUpdate.js @@ -6,5 +6,5 @@ export const GIFT_CARD_UPDATE = { expireDateInput: '[name="expiryDate"]', autocompleteCustomOption: '[data-test-id="multi-autocomplete-select-option-custom"]', - removeTagButton: '[data-test-id="remove"]' + removeTagButton: '[data-test-id="remove"]', }; diff --git a/cypress/elements/catalog/products/products-list.js b/cypress/elements/catalog/products/products-list.js index 1b303210a..d1404994a 100644 --- a/cypress/elements/catalog/products/products-list.js +++ b/cypress/elements/catalog/products/products-list.js @@ -30,6 +30,12 @@ export const PRODUCTS_LIST = { productType: '[data-test-id="filter-group-active-productType"]', stock: '[data-test-id="filter-group-active-stock"]', channel: '[data-test-id="filter-group-active-channel"]', + currency: '[data-test-id="filter-group-active-currency"]', + currencySpecific: { + THB: '[data-test-id="filter-option-THB"]', + PLN: '[data-test-id="filter-option-PLN"]', + USD: '[data-test-id="filter-option-USD"]', + }, }, filterField: { filterField: '[data-test-id*="filter-field"]', diff --git a/cypress/elements/shared/button-selectors.js b/cypress/elements/shared/button-selectors.js index 1c171d6bc..3b43a160f 100644 --- a/cypress/elements/shared/button-selectors.js +++ b/cypress/elements/shared/button-selectors.js @@ -8,6 +8,7 @@ export const BUTTON_SELECTORS = { selectOption: "[data-test-id*='select-option']", notSelectedOption: ":not([aria-selected])", deleteButton: '[data-test="button-bar-delete"]', + deleteItemsButton: '[data-test-id="button-delete-items"]', confirmDeleteButton: '[data-test-id="confirm-delete"]', expandIcon: '[data-test-id="expand-icon"]', nextPaginationButton: '[data-test="button-pagination-next"]', diff --git a/src/components/DeleteIconButton/DeleteIconButton.tsx b/src/components/DeleteIconButton/DeleteIconButton.tsx index 4dbcd7798..ab5fddca9 100644 --- a/src/components/DeleteIconButton/DeleteIconButton.tsx +++ b/src/components/DeleteIconButton/DeleteIconButton.tsx @@ -2,7 +2,11 @@ import { DeleteIcon, IconButton, IconButtonProps } from "@saleor/macaw-ui"; import React from "react"; const DeleteIconButton: React.FC = ({ onClick }) => ( - + ); diff --git a/src/components/TableHead/TableHead.tsx b/src/components/TableHead/TableHead.tsx index 949f1f7cb..c23fdcdd9 100644 --- a/src/components/TableHead/TableHead.tsx +++ b/src/components/TableHead/TableHead.tsx @@ -109,7 +109,7 @@ const TableHead: React.FC = props => { >
{selected && ( - +