From c0007e89e7d539b04d8dcbcf4e566fa190d62845 Mon Sep 17 00:00:00 2001 From: Kyle Taborski Date: Mon, 5 Jun 2023 14:33:32 -0700 Subject: [PATCH 1/2] More tests for Calendar pageBehavior: single/visible --- .../calendar/stories/useCalendar.stories.tsx | 11 +++++ .../calendar/test/useCalendar.test.js | 40 +++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/packages/@react-aria/calendar/stories/useCalendar.stories.tsx b/packages/@react-aria/calendar/stories/useCalendar.stories.tsx index 111fdd6c0c6..0adc91247fa 100644 --- a/packages/@react-aria/calendar/stories/useCalendar.stories.tsx +++ b/packages/@react-aria/calendar/stories/useCalendar.stories.tsx @@ -12,6 +12,7 @@ import {Example} from './Example'; import React from 'react'; +import {today} from '@internationalized/date'; export default { title: 'Date and Time/useCalendar' @@ -42,6 +43,16 @@ export const Months2 = { name: 'months: 2' }; +export const Days7SingleToday = { + render: () => , + name: 'days: 7, pageBehavior: single, defaultValue: today' +}; + +export const Weeks5SingleToday = { + render: () => , + name: 'weeks: 5, pageBehavior: single, defaultValue: today' +}; + export const Months2PageBehaviorSingle = { render: () => , name: 'months: 2, pageBehavior: single' diff --git a/packages/@react-aria/calendar/test/useCalendar.test.js b/packages/@react-aria/calendar/test/useCalendar.test.js index be96e398e8a..63479fdc099 100644 --- a/packages/@react-aria/calendar/test/useCalendar.test.js +++ b/packages/@react-aria/calendar/test/useCalendar.test.js @@ -178,5 +178,45 @@ describe('useCalendar', () => { `('should use single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { testPagination(defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior); }); + + it.each` + Name | defaultValue | rangeBefore | rangeAfter | rel | count | visibleDuration + ${'Week going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'January 13 to February 2, 2019'} | ${'Next'} | ${1} | ${{weeks: 3}} + ${'Week going forward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'February 3 to 23, 2019'} | ${'Next'} | ${2} | ${{weeks: 3}} + ${'Week going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'December 2 to 22, 2018'} | ${'Previous'} | ${1} | ${{weeks: 3}} + ${'Week going backward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'November 11 to December 1, 2018'} | ${'Previous'} | ${2} | ${{weeks: 3}} + `('should use single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { + testPagination(defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior); + }); + + it.each` + Name | defaultValue | rangeBefore | rangeAfter | rel | count | visibleDuration | pageBehavior + ${'Week going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'December 30, 2018 to January 19, 2019'} | ${'Next'} | ${1} | ${{weeks: 3}} | ${'single'} + ${'Week going forward four'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'January 20 to February 9, 2019'} | ${'Next'} | ${4} | ${{weeks: 3}} | ${'single'} + ${'Week going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'December 16, 2018 to January 5, 2019'} | ${'Previous'} | ${1} | ${{weeks: 3}} | ${'single'} + ${'Week going backward four'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'November 25 to December 15, 2018'} | ${'Previous'} | ${4} | ${{weeks: 3}} | ${'single'} + `('should use single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { + testPagination(defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior); + }); + + it.each` + Name | defaultValue | rangeBefore | rangeAfter | rel | count | visibleDuration + ${'Day going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'January 4 to 8, 2019'} | ${'Next'} | ${1} | ${{days: 5}} + ${'Day going forward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'January 9 to 13, 2019'} | ${'Next'} | ${2} | ${{days: 5}} + ${'Day going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 25 to 29, 2018'} | ${'Previous'} | ${1} | ${{days: 5}} + ${'Day going backward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 20 to 24, 2018'} | ${'Previous'} | ${2} | ${{days: 5}} + `('should use single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { + testPagination(defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior); + }); + + it.each` + Name | defaultValue | rangeBefore | rangeAfter | rel | count | visibleDuration | pageBehavior + ${'Day going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 31, 2018 to January 4, 2019'} | ${'Next'} | ${1} | ${{days: 5}} | ${'single'} + ${'Day going forward five'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'January 3 to 7, 2019'} | ${'Next'} | ${4} | ${{days: 5}} | ${'single'} + ${'Day going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 29, 2018 to January 2, 2019'} | ${'Previous'} | ${1} | ${{days: 5}} | ${'single'} + ${'Day going backward five'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 26 to 30, 2018'} | ${'Previous'} | ${4} | ${{days: 5}} | ${'single'} + `('should use single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { + testPagination(defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior); + }); }); }); From d843579706e62356d047a2a862048c54bf9fac37 Mon Sep 17 00:00:00 2001 From: Kyle Taborski Date: Mon, 5 Jun 2023 14:42:08 -0700 Subject: [PATCH 2/2] fix test names --- .../calendar/test/useCalendar.test.js | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/@react-aria/calendar/test/useCalendar.test.js b/packages/@react-aria/calendar/test/useCalendar.test.js index 63479fdc099..38ff03a2bed 100644 --- a/packages/@react-aria/calendar/test/useCalendar.test.js +++ b/packages/@react-aria/calendar/test/useCalendar.test.js @@ -175,47 +175,47 @@ describe('useCalendar', () => { ${'going forward two'} | ${new CalendarDate(2019, 1, 1)} | ${'January to February 2019'} | ${'March to April 2019'} | ${'Next'} | ${2} | ${{months: 2}} | ${'single'} ${'going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'January to February 2019'} | ${'December 2018 to January 2019'} | ${'Previous'} | ${1} | ${{months: 2}} | ${'single'} ${'going backward two'} | ${new CalendarDate(2019, 1, 1)} | ${'January to February 2019'} | ${'November to December 2018'} | ${'Previous'} | ${2} | ${{months: 2}} | ${'single'} - `('should use single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { + `('should use pageBehavior single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { testPagination(defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior); }); it.each` Name | defaultValue | rangeBefore | rangeAfter | rel | count | visibleDuration - ${'Week going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'January 13 to February 2, 2019'} | ${'Next'} | ${1} | ${{weeks: 3}} - ${'Week going forward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'February 3 to 23, 2019'} | ${'Next'} | ${2} | ${{weeks: 3}} - ${'Week going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'December 2 to 22, 2018'} | ${'Previous'} | ${1} | ${{weeks: 3}} - ${'Week going backward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'November 11 to December 1, 2018'} | ${'Previous'} | ${2} | ${{weeks: 3}} - `('should use single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { + ${'week going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'January 13 to February 2, 2019'} | ${'Next'} | ${1} | ${{weeks: 3}} + ${'week going forward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'February 3 to 23, 2019'} | ${'Next'} | ${2} | ${{weeks: 3}} + ${'week going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'December 2 to 22, 2018'} | ${'Previous'} | ${1} | ${{weeks: 3}} + ${'week going backward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'November 11 to December 1, 2018'} | ${'Previous'} | ${2} | ${{weeks: 3}} + `('should use visible as default $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { testPagination(defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior); }); it.each` Name | defaultValue | rangeBefore | rangeAfter | rel | count | visibleDuration | pageBehavior - ${'Week going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'December 30, 2018 to January 19, 2019'} | ${'Next'} | ${1} | ${{weeks: 3}} | ${'single'} - ${'Week going forward four'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'January 20 to February 9, 2019'} | ${'Next'} | ${4} | ${{weeks: 3}} | ${'single'} - ${'Week going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'December 16, 2018 to January 5, 2019'} | ${'Previous'} | ${1} | ${{weeks: 3}} | ${'single'} - ${'Week going backward four'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'November 25 to December 15, 2018'} | ${'Previous'} | ${4} | ${{weeks: 3}} | ${'single'} - `('should use single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { + ${'week going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'December 30, 2018 to January 19, 2019'} | ${'Next'} | ${1} | ${{weeks: 3}} | ${'single'} + ${'week going forward four'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'January 20 to February 9, 2019'} | ${'Next'} | ${4} | ${{weeks: 3}} | ${'single'} + ${'week going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'December 16, 2018 to January 5, 2019'} | ${'Previous'} | ${1} | ${{weeks: 3}} | ${'single'} + ${'week going backward four'} | ${new CalendarDate(2019, 1, 1)} | ${'December 23, 2018 to January 12, 2019'} | ${'November 25 to December 15, 2018'} | ${'Previous'} | ${4} | ${{weeks: 3}} | ${'single'} + `('should use pageBehavior single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { testPagination(defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior); }); it.each` Name | defaultValue | rangeBefore | rangeAfter | rel | count | visibleDuration - ${'Day going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'January 4 to 8, 2019'} | ${'Next'} | ${1} | ${{days: 5}} - ${'Day going forward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'January 9 to 13, 2019'} | ${'Next'} | ${2} | ${{days: 5}} - ${'Day going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 25 to 29, 2018'} | ${'Previous'} | ${1} | ${{days: 5}} - ${'Day going backward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 20 to 24, 2018'} | ${'Previous'} | ${2} | ${{days: 5}} - `('should use single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { + ${'day going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'January 4 to 8, 2019'} | ${'Next'} | ${1} | ${{days: 5}} + ${'day going forward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'January 9 to 13, 2019'} | ${'Next'} | ${2} | ${{days: 5}} + ${'day going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 25 to 29, 2018'} | ${'Previous'} | ${1} | ${{days: 5}} + ${'day going backward two'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 20 to 24, 2018'} | ${'Previous'} | ${2} | ${{days: 5}} + `('should use visible as default $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { testPagination(defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior); }); it.each` Name | defaultValue | rangeBefore | rangeAfter | rel | count | visibleDuration | pageBehavior - ${'Day going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 31, 2018 to January 4, 2019'} | ${'Next'} | ${1} | ${{days: 5}} | ${'single'} - ${'Day going forward five'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'January 3 to 7, 2019'} | ${'Next'} | ${4} | ${{days: 5}} | ${'single'} - ${'Day going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 29, 2018 to January 2, 2019'} | ${'Previous'} | ${1} | ${{days: 5}} | ${'single'} - ${'Day going backward five'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 26 to 30, 2018'} | ${'Previous'} | ${4} | ${{days: 5}} | ${'single'} - `('should use single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { + ${'day going forward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 31, 2018 to January 4, 2019'} | ${'Next'} | ${1} | ${{days: 5}} | ${'single'} + ${'day going forward five'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'January 3 to 7, 2019'} | ${'Next'} | ${4} | ${{days: 5}} | ${'single'} + ${'day going backward one'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 29, 2018 to January 2, 2019'} | ${'Previous'} | ${1} | ${{days: 5}} | ${'single'} + ${'day going backward five'} | ${new CalendarDate(2019, 1, 1)} | ${'December 30, 2018 to January 3, 2019'} | ${'December 26 to 30, 2018'} | ${'Previous'} | ${4} | ${{days: 5}} | ${'single'} + `('should use pageBehavior single $Name', ({defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior}) => { testPagination(defaultValue, rangeBefore, rangeAfter, rel, count, visibleDuration, pageBehavior); }); });