Skip to content

Commit

Permalink
Introduce datagrid in grift cards list (#3894)
Browse files Browse the repository at this point in the history
Co-authored-by: wojteknowacki <[email protected]>
  • Loading branch information
poulch and wojteknowacki authored Jul 19, 2023
1 parent 52f58eb commit ce1854b
Show file tree
Hide file tree
Showing 56 changed files with 1,222 additions and 958 deletions.
5 changes: 5 additions & 0 deletions .changeset/wise-windows-cheat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"saleor-dashboard": minor
---

Introduce datagrid on gift card list page
69 changes: 44 additions & 25 deletions cypress/e2e/catalog/giftCards/activateGiftCards.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import faker from "faker";

import { GIFT_CARD_LIST } from "../../../elements/catalog/giftCard/giftCardList";
import { urlList } from "../../../fixtures/urlList";
import { completeCheckout } from "../../../support/api/requests/Checkout";
import {
createGiftCard,
Expand All @@ -18,10 +19,7 @@ import {
} from "../../../support/api/utils/ordersUtils";
import * as productsUtils from "../../../support/api/utils/products/productsUtils";
import { updateTaxConfigurationForChannel } from "../../../support/api/utils/taxesUtils";
import {
changeGiftCardActiveStatus,
enterAndSelectGiftCards,
} from "../../../support/pages/catalog/giftCardPage";
import { giftCardsPage } from "../../../support/pages";

describe("As a admin I want to use enabled gift card in checkout", () => {
const startsWith = "ActivateGiftCards";
Expand Down Expand Up @@ -84,7 +82,7 @@ describe("As a admin I want to use enabled gift card in checkout", () => {
giftCardDeactivate(giftCard.id);
})
.then(() => {
changeGiftCardActiveStatus(giftCard.id);
giftCardsPage.changeGiftCardActiveStatus(giftCard.id);
dataForCheckout.voucherCode = giftCard.code;
purchaseProductWithPromoCode(dataForCheckout);
})
Expand Down Expand Up @@ -114,7 +112,7 @@ describe("As a admin I want to use enabled gift card in checkout", () => {
createGiftCard(giftCardData)
.then(giftCardResp => {
giftCard = giftCardResp;
changeGiftCardActiveStatus(giftCard.id);
giftCardsPage.changeGiftCardActiveStatus(giftCard.id);
dataForCheckout.voucherCode = giftCard.code;
createCheckoutWithDisabledGiftCard(dataForCheckout);
})
Expand All @@ -138,34 +136,44 @@ describe("As a admin I want to use enabled gift card in checkout", () => {
"should not be able to disable several gift cards on gift card list page and use it in checkout. TC: SALEOR_1013",
{ tags: ["@giftCard", "@allEnv", "@stable"] },
() => {
const firstGiftCardName = `${startsWith}${faker.datatype.number()}`;
const secondGiftCardName = `${startsWith}${faker.datatype.number()}`;
const firstGiftCardTag = faker.datatype.number();
const secondGiftCardTag = faker.datatype.number();
const amount = 10;
let firstGiftCard;
let firstGiftCardCode;
let secondGiftCard;

let secondGiftCardCode;
cy.addAliasToGraphRequest("GiftCardBulkDeactivate");
createGiftCard({
tag: firstGiftCardName,
tag: firstGiftCardTag,
amount,
currency: "USD",
})
.then(giftCard => {
firstGiftCard = giftCard;
firstGiftCardCode = firstGiftCard.code;
createGiftCard({
tag: secondGiftCardName,
tag: secondGiftCardTag,
amount,
currency: "USD",
});
})
.then(giftCard => {
secondGiftCard = giftCard;
secondGiftCardCode = secondGiftCard.code;
cy.visit(
giftCardsPage.getUrlWithFilteredTags(urlList.giftCards, [
firstGiftCardTag,
secondGiftCardTag,
]),
);

enterAndSelectGiftCards([firstGiftCard.id, secondGiftCard.id]);
cy.addAliasToGraphRequest("GiftCardBulkDeactivate")
.get(GIFT_CARD_LIST.deactivateGiftCardButton)
.click()
.waitForRequestAndCheckIfNoErrors("@GiftCardBulkDeactivate")
.confirmationMessageShouldAppear();
giftCardsPage.selectGiftCardOnListView(secondGiftCardCode);
giftCardsPage.selectGiftCardOnListView(firstGiftCardCode);
giftCardsPage.clickDeactivateButton();
cy.waitForRequestAndCheckIfNoErrors(
"@GiftCardBulkDeactivate",
).confirmationMessageShouldAppear();
dataForCheckout.voucherCode = firstGiftCard.code;
createCheckoutWithDisabledGiftCard(dataForCheckout);
dataForCheckout.voucherCode = secondGiftCard.code;
Expand All @@ -192,33 +200,44 @@ describe("As a admin I want to use enabled gift card in checkout", () => {
"should be able to enable several gift cards on gift card list page and use it in checkout. TC: SALEOR_1012",
{ tags: ["@giftCard", "@allEnv"] },
() => {
const firstGiftCardName = `${startsWith}${faker.datatype.number()}`;
const secondGiftCardName = `${startsWith}${faker.datatype.number()}`;
const amount = 10;
const expectedOrderPrice = shippingPrice + productPrice - amount;
const firstGiftCardTag = faker.datatype.number();
const secondGiftCardTag = faker.datatype.number();
let firstGiftCard;
let firstGiftCardCode;
let secondGiftCard;

let secondGiftCardCode;
cy.addAliasToGraphRequest("GiftCardBulkActivate");
createGiftCard({
tag: firstGiftCardName,
tag: firstGiftCardTag,
amount,
currency: "USD",
isActive: false,
})
.then(giftCard => {
firstGiftCard = giftCard;
firstGiftCardCode = giftCard.code;

createGiftCard({
tag: secondGiftCardName,
tag: secondGiftCardTag,
amount,
currency: "USD",
isActive: false,
});
})
.then(giftCard => {
secondGiftCard = giftCard;
enterAndSelectGiftCards([firstGiftCard.id, secondGiftCard.id]);
cy.addAliasToGraphRequest("GiftCardBulkActivate")
.get(GIFT_CARD_LIST.activateGiftCardButton)
secondGiftCardCode = giftCard.code;
cy.visit(
giftCardsPage.getUrlWithFilteredTags(urlList.giftCards, [
firstGiftCardTag,
secondGiftCardTag,
]),
);
giftCardsPage.selectGiftCardOnListView(secondGiftCardCode);
giftCardsPage.selectGiftCardOnListView(firstGiftCardCode);
cy.get(GIFT_CARD_LIST.activateGiftCardButton)
.click()
.waitForRequestAndCheckIfNoErrors("@GiftCardBulkActivate")
.confirmationMessageShouldAppear();
Expand Down
113 changes: 54 additions & 59 deletions cypress/e2e/catalog/giftCards/exportGiftCards.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,15 @@

import faker from "faker";

import { GIFT_CARD_LIST } from "../../../elements/catalog/giftCard/giftCardList";
import { GIFT_CARD_SHOW_MORE } from "../../../elements/catalog/giftCard/giftCardShowMore";
import { ASSIGN_ELEMENTS_SELECTORS } from "../../../elements/shared/assign-elements-selectors.js";
import { BUTTON_SELECTORS } from "../../../elements/shared/button-selectors";
import { urlList } from "../../../fixtures/urlList";
import { TEST_ADMIN_USER } from "../../../fixtures/users";
import { createGiftCard } from "../../../support/api/requests/GiftCard";
import {
activatePlugin,
updatePlugin,
} from "../../../support/api/requests/Plugins";
import { getMailWithGiftCardExportWithAttachment } from "../../../support/api/utils/users";
import { enterAndSelectGiftCards } from "../../../support/pages/catalog/giftCardPage";
import { giftCardsPage } from "../../../support/pages";

describe("As an admin I want to export gift card", () => {
const startsWith = "updateGCard";
Expand All @@ -32,49 +29,48 @@ describe("As an admin I want to export gift card", () => {
"should be able to export several gift cards to csv file. TC: SALEOR_1010",
{ tags: ["@giftCard", "@allEnv", "@stable"] },
() => {
const giftCard01 = `${startsWith}${faker.datatype.number()}`;
const giftCard02 = `${startsWith}${faker.datatype.number()}`;
const firstGiftCardTag = faker.datatype.number();
const secondGiftCardTag = faker.datatype.number();
const exportId = `${faker.datatype.number()}`;
let giftCard01hash;
let giftCard02hash;
let firstGiftCardId;
let secondGiftCardId;
let firstGiftCardCode;
let secondGiftCardCode;

updatePlugin(
"mirumee.notifications.admin_email",
"csv_export_success_subject",
`Your exported {{ data_type }} data #${exportId} is ready`,
);
createGiftCard({
tag: giftCard01,
tag: firstGiftCardTag,
amount: 5,
currency: "THB",
})
.then(hash => {
giftCard01hash = hash.id;
.then(firstGiftCard => {
firstGiftCardId = firstGiftCard.id;
firstGiftCardCode = firstGiftCard.code;
createGiftCard({
tag: giftCard02,
tag: secondGiftCardTag,
amount: 10,
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.showMoreButton)
.click({ force: true })
.get(GIFT_CARD_SHOW_MORE.exportCodesMenu)
.click()
.get(GIFT_CARD_SHOW_MORE.exportAsRadioBtn.csv)
.click()
.get(BUTTON_SELECTORS.submit)
.click().confirmationMessageShouldDisappear;
.then(secondGiftCard => {
secondGiftCardCode = secondGiftCard.code;
secondGiftCardId = secondGiftCard.id;
cy.visit(
giftCardsPage.getUrlWithFilteredTags(urlList.giftCards, [
firstGiftCardTag,
secondGiftCardTag,
]),
);
giftCardsPage.selectGiftCardOnListView(secondGiftCardCode);
giftCardsPage.selectGiftCardOnListView(firstGiftCardCode);
giftCardsPage.openExportGiftCardsDialog();
giftCardsPage.selectSelectedRecordsButton();
giftCardsPage.selectExportAsCSVButton();
cy.clickSubmitButton();
getMailWithGiftCardExportWithAttachment(
TEST_ADMIN_USER.email,
`Your exported gift cards data #${exportId} is ready`,
Expand All @@ -90,49 +86,48 @@ describe("As an admin I want to export gift card", () => {
"should be able to export several gift cards to xlsx file. TC: SALEOR_1014",
{ tags: ["@giftCard", "@allEnv", "@stable"] },
() => {
const giftCard01 = `${startsWith}${faker.datatype.number()}`;
const giftCard02 = `${startsWith}${faker.datatype.number()}`;
const firstGiftCardTag = faker.datatype.number();
const secondGiftCardTag = faker.datatype.number();
const exportId = `${faker.datatype.number()}`;
let giftCard01hash;
let giftCard02hash;
let firstGiftCardId;
let secondGiftCardId;
let firstGiftCardCode;
let secondGiftCardCode;

updatePlugin(
"mirumee.notifications.admin_email",
"csv_export_success_subject",
`Your exported {{ data_type }} data #${exportId} is ready`,
);
createGiftCard({
tag: giftCard01,
tag: firstGiftCardTag,
amount: 5,
currency: "THB",
})
.then(hash => {
giftCard01hash = hash.id;
.then(firstGiftCard => {
firstGiftCardId = firstGiftCard.id;
firstGiftCardCode = firstGiftCard.code;
createGiftCard({
tag: giftCard02,
tag: secondGiftCardTag,
amount: 10,
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.showMoreButton)
.click({ force: true })
.get(GIFT_CARD_SHOW_MORE.exportCodesMenu)
.click()
.get(GIFT_CARD_SHOW_MORE.exportAsRadioBtn.xlsx)
.click()
.get(BUTTON_SELECTORS.submit)
.click().confirmationMessageShouldDisappear;
.then(secondGiftCard => {
secondGiftCardId = secondGiftCard.id;
secondGiftCardCode = secondGiftCard.code;
cy.visit(
giftCardsPage.getUrlWithFilteredTags(urlList.giftCards, [
firstGiftCardTag,
secondGiftCardTag,
]),
);
giftCardsPage.selectGiftCardOnListView(secondGiftCardCode);
giftCardsPage.selectGiftCardOnListView(firstGiftCardCode);
giftCardsPage.openExportGiftCardsDialog();
giftCardsPage.selectSelectedRecordsButton();
giftCardsPage.selectExportAsXLSXButton();
cy.clickSubmitButton();
getMailWithGiftCardExportWithAttachment(
TEST_ADMIN_USER.email,
`Your exported gift cards data #${exportId} is ready`,
Expand Down
Loading

0 comments on commit ce1854b

Please sign in to comment.