changeView.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. describe('changeView', function() {
  2. pushOptions({
  3. defaultDate: '2017-06-08',
  4. defaultView: 'month'
  5. });
  6. it('can change views', function() {
  7. initCalendar();
  8. currentCalendar.changeView('agendaWeek');
  9. ViewDateUtils.expectActiveRange('2017-06-04', '2017-06-11');
  10. });
  11. it('can change views and navigate date', function() {
  12. initCalendar();
  13. currentCalendar.changeView('agendaDay', '2017-06-26');
  14. ViewDateUtils.expectActiveRange('2017-06-26', '2017-06-27');
  15. });
  16. it('can change views and change activeRange', function() {
  17. initCalendar();
  18. currentCalendar.changeView('agenda', {
  19. start: '2017-07-04',
  20. end: '2017-07-08'
  21. });
  22. ViewDateUtils.expectActiveRange('2017-07-04', '2017-07-08');
  23. });
  24. describe('when switching away from view, then back', function() {
  25. it('correctly renders original view again', function(done) {
  26. var renderCalls = 0;
  27. initCalendar({
  28. defaultView: 'month',
  29. eventAfterAllRender: function(view) {
  30. renderCalls++;
  31. switch (renderCalls) {
  32. case 1:
  33. expect(view.type).toBe('month');
  34. currentCalendar.changeView('agendaWeek');
  35. break;
  36. case 2:
  37. expect(view.type).toBe('agendaWeek');
  38. currentCalendar.changeView('basicWeek');
  39. break;
  40. case 3:
  41. expect(view.type).toBe('basicWeek');
  42. currentCalendar.changeView('month');
  43. break;
  44. case 4:
  45. expect(view.type).toBe('month');
  46. done();
  47. break;
  48. }
  49. }
  50. });
  51. });
  52. });
  53. });