From a5cbfc6af120b5233abb68c09c4ba62ee1a524bb Mon Sep 17 00:00:00 2001 From: Anurag Hazra Date: Wed, 28 Oct 2020 17:42:26 +0530 Subject: [PATCH] test: added more test cases for calendar (#121) * test: added more test cases for calendar * chore: removed unneeded async --- src/calendar/__tests__/Calendar.test.tsx | 55 ++++++++++++++++++- src/calendar/__tests__/RangeCalendar.test.tsx | 2 +- src/calendar/stories/Calendar.stories.tsx | 14 ++--- 3 files changed, 62 insertions(+), 9 deletions(-) diff --git a/src/calendar/__tests__/Calendar.test.tsx b/src/calendar/__tests__/Calendar.test.tsx index 0e9538d5b..ac3042e93 100644 --- a/src/calendar/__tests__/Calendar.test.tsx +++ b/src/calendar/__tests__/Calendar.test.tsx @@ -132,7 +132,7 @@ describe("Calendar", () => { expect(testId("current-year")).toHaveTextContent("October 2019"); }); - test("should have min/max values", async () => { + test("should have min/max values", () => { const { getByLabelText: label } = render( { expect(label("Saturday, November 14, 2020")).toHaveFocus(); }); + test("should be able to go to prev/next month when min/max values are set", () => { + const { getByLabelText: label } = render( + , + ); + + repeat(press.Tab, 5); + expect(label("Saturday, November 7, 2020 selected")).toHaveFocus(); + + press.PageUp(); + expect(label("Saturday, October 31, 2020")).toHaveFocus(); + + press.PageDown(); + expect(label("Saturday, November 14, 2020")).toHaveFocus(); + + // Should not be able to go to next/prev year + press.PageDown(null, { shiftKey: true }); + expect(label("Saturday, November 14, 2020")).toHaveFocus(); + press.PageUp(null, { shiftKey: true }); + expect(label("Saturday, November 14, 2020")).toHaveFocus(); + }); + + test("should be able to go to prev/next year when min/max values are set", () => { + const { getByLabelText: label } = render( + , + ); + + repeat(press.Tab, 5); + expect(label("Saturday, November 7, 2020 selected")).toHaveFocus(); + + press.PageUp(); + expect(label("Saturday, October 31, 2020")).toHaveFocus(); + + press.PageDown(null, { shiftKey: true }); + expect(label("Sunday, October 31, 2021")).toHaveFocus(); + + press.PageDown(); + expect(label("Sunday, November 14, 2021")).toHaveFocus(); + + press.PageUp(); + expect(label("Thursday, October 14, 2021")).toHaveFocus(); + + press.PageUp(null, { shiftKey: true }); + expect(label("Saturday, October 31, 2020")).toHaveFocus(); + }); + test("Calendar renders with no a11y violations", async () => { const { container } = render(); const results = await axe(container); diff --git a/src/calendar/__tests__/RangeCalendar.test.tsx b/src/calendar/__tests__/RangeCalendar.test.tsx index 06a80b2e2..607b7dddf 100644 --- a/src/calendar/__tests__/RangeCalendar.test.tsx +++ b/src/calendar/__tests__/RangeCalendar.test.tsx @@ -118,7 +118,7 @@ describe("RangeCalendar", () => { expect(end).toHaveTextContent("30"); }); - it("should announce selected range after finishing selection", async () => { + it("should announce selected range after finishing selection", () => { const { getByLabelText: label } = render(