From bcdaec62b00573b46b8ba443fb9e0a6f9dace2d6 Mon Sep 17 00:00:00 2001 From: Mark Erikson Date: Tue, 25 Jun 2024 14:35:21 -0400 Subject: [PATCH] Restore feed tests --- cypress/tests/ui/transaction-feeds.spec.ts | 162 ++++++++++----------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/cypress/tests/ui/transaction-feeds.spec.ts b/cypress/tests/ui/transaction-feeds.spec.ts index 7cf08372b..52afa327e 100644 --- a/cypress/tests/ui/transaction-feeds.spec.ts +++ b/cypress/tests/ui/transaction-feeds.spec.ts @@ -215,87 +215,87 @@ describe("Transaction Feed", function () { }); }); - // REPLAY Disable because `react-infinite-calendar` doesn't work in React 19 - // describe("filters transaction feeds by date range", function () { - // if (isMobile()) { - // it("closes date range picker modal", () => { - // cy.getBySelLike("filter-date-range-button").click({ force: true }); - // cy.get(".Cal__Header__root").should("be.visible"); - // cy.visualSnapshot("Mobile Open Date Range Picker"); - // cy.getBySel("date-range-filter-drawer-close").click(); - // cy.get(".Cal__Header__root").should("not.exist"); - // cy.visualSnapshot("Mobile Close Date Range Picker"); - // }); - // } - - // _.each(feedViews, (feed, feedName) => { - // it(`filters ${feedName} transaction feed by date range`, function () { - // cy.database("find", "transactions").then((transaction: Transaction) => { - // const dateRangeStart = startOfDay(new Date(transaction.createdAt)); - // const dateRangeEnd = endOfDayUTC(addDays(dateRangeStart, 1)); - - // cy.getBySelLike(feed.tab).click().should("have.class", "Mui-selected"); - - // cy.wait(`@${feed.routeAlias}`).its("response.body.results").as("unfilteredResults"); - - // cy.pickDateRange(dateRangeStart, dateRangeEnd); - - // cy.wait(`@${feed.routeAlias}`) - // .its("response.body.results") - // .then((transactions: Transaction[]) => { - // cy.getBySelLike("transaction-item").should("have.length", transactions.length); - - // transactions.forEach(({ createdAt }) => { - // const createdAtDate = startOfDayUTC(new Date(createdAt)); - - // expect( - // isWithinInterval(createdAtDate, { - // start: startOfDayUTC(dateRangeStart), - // end: dateRangeEnd, - // }), - // `transaction created date (${createdAtDate.toISOString()}) - // is within ${dateRangeStart.toISOString()} - // and ${dateRangeEnd.toISOString()}` - // ).to.equal(true); - // }); - - // cy.visualSnapshot("Date Range Filtered Transactions"); - // }); - - // cy.log("Clearing date range filter. Data set should revert"); - // cy.getBySelLike("filter-date-clear-button").click({ - // force: true, - // }); - // cy.getBySelLike("filter-date-range-button").should("contain", "ALL"); - - // cy.get("@unfilteredResults").then((unfilteredResults) => { - // cy.wait(`@${feed.routeAlias}`) - // .its("response.body.results") - // .should("deep.equal", unfilteredResults); - // cy.visualSnapshot("Unfiltered Transactions"); - // }); - // }); - // }); - - // it(`does not show ${feedName} transactions for out of range date limits`, function () { - // const dateRangeStart = startOfDay(new Date(2014, 1, 1)); - // const dateRangeEnd = endOfDayUTC(addDays(dateRangeStart, 1)); - - // cy.getBySelLike(feed.tab).click(); - // cy.wait(`@${feed.routeAlias}`); - - // cy.pickDateRange(dateRangeStart, dateRangeEnd); - // cy.wait(`@${feed.routeAlias}`); - - // cy.getBySelLike("transaction-item").should("have.length", 0); - // cy.getBySel("empty-list-header").should("contain", "No Transactions"); - // cy.getBySelLike("empty-create-transaction-button") - // .should("have.attr", "href", "/transaction/new") - // .contains("create a transaction", { matchCase: false }) - // .should("have.css", { "text-transform": "uppercase" }); - // cy.visualSnapshot("No Transactions"); - // }); - // }); + REPLAY Disable because `react-infinite-calendar` doesn't work in React 19 + describe("filters transaction feeds by date range", function () { + if (isMobile()) { + it("closes date range picker modal", () => { + cy.getBySelLike("filter-date-range-button").click({ force: true }); + cy.get(".Cal__Header__root").should("be.visible"); + cy.visualSnapshot("Mobile Open Date Range Picker"); + cy.getBySel("date-range-filter-drawer-close").click(); + cy.get(".Cal__Header__root").should("not.exist"); + cy.visualSnapshot("Mobile Close Date Range Picker"); + }); + } + + _.each(feedViews, (feed, feedName) => { + it(`filters ${feedName} transaction feed by date range`, function () { + cy.database("find", "transactions").then((transaction: Transaction) => { + const dateRangeStart = startOfDay(new Date(transaction.createdAt)); + const dateRangeEnd = endOfDayUTC(addDays(dateRangeStart, 1)); + + cy.getBySelLike(feed.tab).click().should("have.class", "Mui-selected"); + + cy.wait(`@${feed.routeAlias}`).its("response.body.results").as("unfilteredResults"); + + cy.pickDateRange(dateRangeStart, dateRangeEnd); + + cy.wait(`@${feed.routeAlias}`) + .its("response.body.results") + .then((transactions: Transaction[]) => { + cy.getBySelLike("transaction-item").should("have.length", transactions.length); + + transactions.forEach(({ createdAt }) => { + const createdAtDate = startOfDayUTC(new Date(createdAt)); + + expect( + isWithinInterval(createdAtDate, { + start: startOfDayUTC(dateRangeStart), + end: dateRangeEnd, + }), + `transaction created date (${createdAtDate.toISOString()}) + is within ${dateRangeStart.toISOString()} + and ${dateRangeEnd.toISOString()}` + ).to.equal(true); + }); + + cy.visualSnapshot("Date Range Filtered Transactions"); + }); + + cy.log("Clearing date range filter. Data set should revert"); + cy.getBySelLike("filter-date-clear-button").click({ + force: true, + }); + cy.getBySelLike("filter-date-range-button").should("contain", "ALL"); + + cy.get("@unfilteredResults").then((unfilteredResults) => { + cy.wait(`@${feed.routeAlias}`) + .its("response.body.results") + .should("deep.equal", unfilteredResults); + cy.visualSnapshot("Unfiltered Transactions"); + }); + }); + }); + + it(`does not show ${feedName} transactions for out of range date limits`, function () { + const dateRangeStart = startOfDay(new Date(2014, 1, 1)); + const dateRangeEnd = endOfDayUTC(addDays(dateRangeStart, 1)); + + cy.getBySelLike(feed.tab).click(); + cy.wait(`@${feed.routeAlias}`); + + cy.pickDateRange(dateRangeStart, dateRangeEnd); + cy.wait(`@${feed.routeAlias}`); + + cy.getBySelLike("transaction-item").should("have.length", 0); + cy.getBySel("empty-list-header").should("contain", "No Transactions"); + cy.getBySelLike("empty-create-transaction-button") + .should("have.attr", "href", "/transaction/new") + .contains("create a transaction", { matchCase: false }) + .should("have.css", { "text-transform": "uppercase" }); + cy.visualSnapshot("No Transactions"); + }); + }); }); describe("filters transaction feeds by amount range", function () {