@@ -417,6 +417,47 @@ describe('calendarMonthView component', () => {
417
417
418
418
} ) ;
419
419
420
+ it ( 'should apply the year, month and date changes in the correct order when dragging and dropping events' , ( ) => {
421
+
422
+ const fixture : ComponentFixture < CalendarMonthViewComponent > = TestBed . createComponent ( CalendarMonthViewComponent ) ;
423
+ fixture . componentInstance . viewDate = new Date ( '2017-02-05' ) ;
424
+ fixture . componentInstance . events = [ {
425
+ start : new Date ( '2017-02-01' ) ,
426
+ title : 'draggable event' ,
427
+ color : {
428
+ primary : 'blue' ,
429
+ secondary : 'rgb(238, 238, 238)'
430
+ } ,
431
+ draggable : true
432
+ } ] ;
433
+ fixture . componentInstance . ngOnChanges ( { viewDate : { } } ) ;
434
+ let dragEvent : CalendarEventTimesChangedEvent ;
435
+ fixture . componentInstance . eventTimesChanged . subscribe ( event => {
436
+ dragEvent = event ;
437
+ } ) ;
438
+ fixture . detectChanges ( ) ;
439
+ document . body . appendChild ( fixture . nativeElement ) ;
440
+ const cells : HTMLElement [ ] = fixture . nativeElement . querySelectorAll ( '.cal-day-cell' ) ;
441
+ const event : HTMLElement = fixture . nativeElement . querySelector ( '.cal-event' ) ;
442
+ event . style . width = '10px' ;
443
+ event . style . height = '10px' ;
444
+ const dragToCellPosition : ClientRect = cells [ 2 ] . getBoundingClientRect ( ) ;
445
+ const eventStartPosition : ClientRect = event . getBoundingClientRect ( ) ;
446
+ triggerDomEvent ( 'mousedown' , event , { clientX : eventStartPosition . left , clientY : eventStartPosition . top } ) ;
447
+ fixture . detectChanges ( ) ;
448
+ triggerDomEvent ( 'mousemove' , document . body , { clientX : dragToCellPosition . left , clientY : dragToCellPosition . top } ) ;
449
+ fixture . detectChanges ( ) ;
450
+ triggerDomEvent ( 'mouseup' , document . body , { clientX : dragToCellPosition . left , clientY : dragToCellPosition . top } ) ;
451
+ fixture . detectChanges ( ) ;
452
+ fixture . destroy ( ) ;
453
+ expect ( dragEvent ) . to . deep . equal ( {
454
+ event : fixture . componentInstance . events [ 0 ] ,
455
+ newStart : new Date ( '2017-01-31' ) ,
456
+ newEnd : undefined
457
+ } ) ;
458
+
459
+ } ) ;
460
+
420
461
it ( 'should update the event title' , ( ) => {
421
462
const fixture : ComponentFixture < CalendarMonthViewComponent > = TestBed . createComponent ( CalendarMonthViewComponent ) ;
422
463
fixture . componentInstance . viewDate = new Date ( '2016-06-01' ) ;
0 commit comments