prev-button.js 1.9 KB

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