next-button.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. TODO:
  3. - quick test for when button is clicked
  4. SEE ALSO:
  5. - visibleRange, dateAlignment, dateIncrement
  6. */
  7. import { expectButtonEnabled } from './ToolbarUtils'
  8. describe('next button', function() {
  9. pushOptions({
  10. defaultView: 'agendaWeek',
  11. defaultDate: '2017-06-08'
  12. })
  13. describe('when there is no validRange', function() {
  14. it('is enabled', function() {
  15. initCalendar()
  16. expectButtonEnabled('next', true)
  17. })
  18. })
  19. describe('when next date range is completely within validRange', function() {
  20. pushOptions({
  21. validRange: { end: '2018-06-10' },
  22. dateIncrement: { years: 1 } // next range is 2018-06-03 - 2018-06-10
  23. })
  24. it('is enabled', function() {
  25. initCalendar()
  26. expectButtonEnabled('next', true)
  27. })
  28. })
  29. describe('when next date range is partially outside validRange', function() {
  30. pushOptions({
  31. validRange: { end: '2018-06-05' },
  32. dateIncrement: { years: 1 } // next range is 2018-06-03 - 2018-06-10
  33. })
  34. it('is enabled', function() {
  35. initCalendar()
  36. expectButtonEnabled('next', true)
  37. })
  38. })
  39. describe('when next date range is completely beyond validRange', function() {
  40. pushOptions({
  41. validRange: { end: '2018-06-03' },
  42. dateIncrement: { years: 1 } // next range is 2018-06-03 - 2018-06-10
  43. })
  44. it('is disabled', function() {
  45. initCalendar()
  46. expectButtonEnabled('next', false)
  47. })
  48. })
  49. describe('when day after current day is a hidden day', function() {
  50. pushOptions({
  51. defaultDate: '2017-03-31',
  52. defaultView: 'basicDay',
  53. weekends: false,
  54. dateIncrement: { years: 1 } // next range is 2018-06-03 - 2018-06-10
  55. })
  56. it('is enabled', function() {
  57. initCalendar()
  58. expectButtonEnabled('next', true)
  59. })
  60. })
  61. describe('when defaultDate is constrained forward to validRange and next week is valid', function() {
  62. pushOptions({
  63. defaultDate: '2017-07-17',
  64. defaultView: 'agendaWeek',
  65. validRange: { start: '2036-05-03', end: '2036-06-01' }
  66. })
  67. it('is enabled', function() {
  68. initCalendar()
  69. expectButtonEnabled('next', true)
  70. })
  71. })
  72. })