2
0

updateEvent.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. describe('updateEvent', function() {
  2. describe('when changing an event\'s ID', function() {
  3. pushOptions({
  4. defaultView: 'month',
  5. now: '2017-07-14',
  6. events: [
  7. { id: '2', start: '2017-07-14', end: '2017-07-19' }
  8. ]
  9. });
  10. it('reflects the ID change on the event object', function(done) {
  11. var allRenderCnt = 0;
  12. initCalendar({
  13. eventAfterAllRender: function() {
  14. var eventObjs;
  15. var eventObj;
  16. allRenderCnt++;
  17. if (allRenderCnt === 1) {
  18. eventObjs = currentCalendar.clientEvents();
  19. expect(eventObjs.length).toBe(1);
  20. eventObj = eventObjs[0];
  21. eventObj.id = '3';
  22. currentCalendar.updateEvent(eventObj);
  23. eventObjs = currentCalendar.clientEvents();
  24. expect(eventObjs.length).toBe(1);
  25. eventObj = eventObjs[0];
  26. expect(eventObj.id).toBe('3');
  27. done();
  28. }
  29. }
  30. });
  31. });
  32. it('reflects the ID change during event rendering', function(done) {
  33. var allRenderCnt = 0;
  34. var renderCnt = 0;
  35. initCalendar({
  36. eventRender: function(eventObj) {
  37. if (allRenderCnt === 1) {
  38. expect(eventObj.id).toBe('3');
  39. renderCnt++;
  40. }
  41. },
  42. eventAfterAllRender: function() {
  43. var eventObjs;
  44. var eventObj;
  45. allRenderCnt++;
  46. if (allRenderCnt === 1) {
  47. eventObjs = currentCalendar.clientEvents();
  48. expect(eventObjs.length).toBe(1);
  49. eventObj = eventObjs[0];
  50. eventObj.id = '3';
  51. currentCalendar.updateEvent(eventObj);
  52. }
  53. else if (allRenderCnt === 2) {
  54. expect(renderCnt).toBe(2);
  55. done();
  56. }
  57. }
  58. });
  59. });
  60. });
  61. describe('when changing an event from timed to all-day', function() {
  62. pushOptions({
  63. defaultView: 'month',
  64. now: '2017-07-14',
  65. events: [
  66. { id: '2', start: '2017-07-14T08:00:00Z', end: '2017-07-14T12:00:00Z' }
  67. ]
  68. });
  69. it('reflects the change on the event object', function(done) {
  70. var allRenderCnt = 0;
  71. initCalendar({
  72. eventAfterAllRender: function() {
  73. var eventObj;
  74. allRenderCnt++;
  75. if (allRenderCnt === 1) {
  76. eventObj = currentCalendar.clientEvents('2')[0];
  77. expect(eventObj.allDay).toBe(false);
  78. eventObj.allDay = true;
  79. eventObj.start = '2017-07-14';
  80. eventObj.end = '2017-07-15';
  81. currentCalendar.updateEvent(eventObj);
  82. eventObj = currentCalendar.clientEvents('2')[0];
  83. expect(eventObj.allDay).toBe(true);
  84. expect(eventObj.start.format()).toBe('2017-07-14');
  85. expect(eventObj.end.format()).toBe('2017-07-15');
  86. done();
  87. }
  88. }
  89. });
  90. });
  91. });
  92. });