@@ -15,7 +15,10 @@ import {
15
15
addMinutes ,
16
16
subHours ,
17
17
setHours ,
18
- setMinutes
18
+ setMinutes ,
19
+ endOfMonth ,
20
+ startOfYesterday ,
21
+ startOfTomorrow
19
22
} from 'date-fns' ;
20
23
import {
21
24
getWeekViewHeader ,
@@ -957,6 +960,52 @@ describe('getDayView', () => {
957
960
958
961
} ) ;
959
962
963
+ it ( 'should stack events in the correct columns' , ( ) => {
964
+
965
+ const events : CalendarEvent [ ] = [ {
966
+ start : subDays ( endOfMonth ( new Date ( ) ) , 3 ) ,
967
+ end : addDays ( endOfMonth ( new Date ( ) ) , 3 ) ,
968
+ title : 'Day column 2' ,
969
+ color : { primary : '' , secondary : '' } ,
970
+ } , {
971
+ start : startOfYesterday ( ) ,
972
+ end : setHours ( startOfTomorrow ( ) , 11 ) ,
973
+ title : 'Day column 1 - event 1' ,
974
+ color : { primary : '' , secondary : '' }
975
+ } , {
976
+ start : setHours ( addDays ( startOfDay ( new Date ( ) ) , 1 ) , 11 ) ,
977
+ end : setHours ( addDays ( startOfDay ( new Date ( ) ) , 1 ) , 15 ) ,
978
+ title : 'Day column 1 - event 2' ,
979
+ color : { primary : '' , secondary : '' }
980
+ } ] ;
981
+
982
+ const result : DayView = getDayView ( {
983
+ events,
984
+ viewDate : startOfTomorrow ( ) ,
985
+ hourSegments : 2 ,
986
+ dayStart : { hour : 0 , minute : 0 } ,
987
+ dayEnd : { hour : 23 , minute : 59 } ,
988
+ eventWidth : 100 ,
989
+ segmentHeight : 30
990
+ } ) ;
991
+
992
+ expect ( result . events [ 0 ] . event ) . to . equal ( events [ 1 ] ) ;
993
+ expect ( result . events [ 0 ] . height ) . to . equal ( 660 ) ;
994
+ expect ( result . events [ 0 ] . top ) . to . equal ( 0 ) ;
995
+ expect ( result . events [ 0 ] . left ) . to . equal ( 0 ) ;
996
+
997
+ expect ( result . events [ 1 ] . event ) . to . equal ( events [ 0 ] ) ;
998
+ expect ( result . events [ 1 ] . height ) . to . equal ( 1439 ) ;
999
+ expect ( result . events [ 1 ] . top ) . to . equal ( 0 ) ;
1000
+ expect ( result . events [ 1 ] . left ) . to . equal ( 100 ) ;
1001
+
1002
+ expect ( result . events [ 2 ] . event ) . to . equal ( events [ 2 ] ) ;
1003
+ expect ( result . events [ 2 ] . height ) . to . equal ( 240 ) ;
1004
+ expect ( result . events [ 2 ] . top ) . to . equal ( 660 ) ;
1005
+ expect ( result . events [ 2 ] . left ) . to . equal ( 0 ) ;
1006
+
1007
+ } ) ;
1008
+
960
1009
} ) ;
961
1010
962
1011
describe ( 'getDayViewHourGrid' , ( ) => {
0 commit comments