@@ -2193,4 +2193,68 @@ describe('calendarWeekView component', () => {
2193
2193
. classList . contains ( 'disabled-cell' )
2194
2194
) . to . be . true ;
2195
2195
} ) ;
2196
+
2197
+ it ( 'should resize a time event to the minimum height' , ( ) => {
2198
+ const fixture : ComponentFixture <
2199
+ CalendarWeekViewComponent
2200
+ > = TestBed . createComponent ( CalendarWeekViewComponent ) ;
2201
+ fixture . componentInstance . viewDate = new Date ( '2018-07-29' ) ;
2202
+ fixture . componentInstance . events = [
2203
+ {
2204
+ start : moment ( new Date ( '2018-07-29' ) )
2205
+ . startOf ( 'day' )
2206
+ . add ( 3 , 'hours' )
2207
+ . toDate ( ) ,
2208
+ end : moment ( new Date ( '2018-07-29' ) )
2209
+ . startOf ( 'day' )
2210
+ . add ( 5 , 'hours' )
2211
+ . toDate ( ) ,
2212
+ title : 'foo' ,
2213
+ resizable : {
2214
+ afterEnd : true
2215
+ }
2216
+ }
2217
+ ] ;
2218
+ fixture . componentInstance . hourSegmentHeight = 20 ;
2219
+ fixture . componentInstance . ngOnChanges ( {
2220
+ viewDate : { } ,
2221
+ events : { } ,
2222
+ hourSegmentHeight : { }
2223
+ } ) ;
2224
+ fixture . detectChanges ( ) ;
2225
+ document . body . appendChild ( fixture . nativeElement ) ;
2226
+ const event : HTMLElement = fixture . nativeElement . querySelectorAll (
2227
+ '.cal-event-container'
2228
+ ) [ 0 ] ;
2229
+ const rect : ClientRect = event . getBoundingClientRect ( ) ;
2230
+ const resizeHandle = event . querySelector ( '.cal-resize-handle-after-end' ) ;
2231
+ let resizeEvent : CalendarEventTimesChangedEvent ;
2232
+ fixture . componentInstance . eventTimesChanged . subscribe ( e => {
2233
+ resizeEvent = e ;
2234
+ } ) ;
2235
+ triggerDomEvent ( 'mousedown' , resizeHandle , {
2236
+ clientX : rect . right ,
2237
+ clientY : rect . bottom
2238
+ } ) ;
2239
+ fixture . detectChanges ( ) ;
2240
+ triggerDomEvent ( 'mousemove' , document . body , {
2241
+ clientX : rect . right ,
2242
+ clientY : rect . bottom - 200
2243
+ } ) ;
2244
+ fixture . detectChanges ( ) ;
2245
+ expect ( event . getBoundingClientRect ( ) . height ) . to . equal ( 20 ) ;
2246
+ triggerDomEvent ( 'mouseup' , document . body , {
2247
+ clientX : rect . right ,
2248
+ clientY : rect . bottom - 200
2249
+ } ) ;
2250
+ fixture . detectChanges ( ) ;
2251
+ expect ( resizeEvent ) . to . deep . equal ( {
2252
+ type : 'resize' ,
2253
+ event : fixture . componentInstance . events [ 0 ] ,
2254
+ newStart : fixture . componentInstance . events [ 0 ] . start ,
2255
+ newEnd : moment ( fixture . componentInstance . events [ 0 ] . start )
2256
+ . add ( 30 , 'minutes' )
2257
+ . toDate ( )
2258
+ } ) ;
2259
+ } ) ;
2196
2260
} ) ;
0 commit comments