Skip to content

Commit

Permalink
Restore feed tests
Browse files Browse the repository at this point in the history
  • Loading branch information
markerikson committed Jun 25, 2024
1 parent 785b13b commit bcdaec6
Showing 1 changed file with 81 additions and 81 deletions.
162 changes: 81 additions & 81 deletions cypress/tests/ui/transaction-feeds.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 () {
Expand Down

0 comments on commit bcdaec6

Please sign in to comment.