@@ -1563,8 +1563,8 @@ describe('IgxGrid - Filtering actions', () => {
15631563
15641564 reset . nativeElement . focus ( ) ;
15651565 inputGroup . nativeElement . dispatchEvent ( new FocusEvent ( 'focusout' ) ) ;
1566+ await wait ( 100 ) ;
15661567 fix . detectChanges ( ) ;
1567- await wait ( 16 ) ;
15681568
15691569 expect ( filterChip . componentInstance . selected ) . toBeFalsy ( ) ;
15701570 } ) ;
@@ -1594,19 +1594,22 @@ describe('IgxGrid - Filtering actions', () => {
15941594 expect ( filterChip ) . toBeTruthy ( ) ;
15951595 expect ( filterChip . componentInstance . selected ) . toBeTruthy ( ) ;
15961596
1597- filterChip . nativeElement . dispatchEvent ( new MouseEvent ( 'click' ) ) ;
1597+ // Click on the chip to commit it
1598+ clickElemAndBlur ( filterChip , input ) ;
1599+ await wait ( 200 ) ;
15981600 fix . detectChanges ( ) ;
1599- await wait ( 16 ) ;
16001601 expect ( filterChip . componentInstance . selected ) . toBeFalsy ( ) ;
16011602
1602- filterChip . nativeElement . dispatchEvent ( new MouseEvent ( 'click' ) ) ;
1603+ // Click on the chip to select it
1604+ GridFunctions . clickChip ( filterChip ) ;
16031605 fix . detectChanges ( ) ;
1604- await wait ( 16 ) ;
1606+ await wait ( 100 ) ;
16051607 expect ( filterChip . componentInstance . selected ) . toBeTruthy ( ) ;
16061608
1607- filterChip . nativeElement . dispatchEvent ( new MouseEvent ( 'click' ) ) ;
1609+ // Click on the chip to commit it
1610+ clickElemAndBlur ( filterChip , input ) ;
1611+ await wait ( 100 ) ;
16081612 fix . detectChanges ( ) ;
1609- await wait ( 16 ) ;
16101613 expect ( filterChip . componentInstance . selected ) . toBeFalsy ( ) ;
16111614 } ) ;
16121615
@@ -1624,34 +1627,35 @@ describe('IgxGrid - Filtering actions', () => {
16241627 expect ( filterChip ) . toBeTruthy ( ) ;
16251628 expect ( filterChip . componentInstance . selected ) . toBeTruthy ( ) ;
16261629
1627- filterChip . nativeElement . dispatchEvent ( new MouseEvent ( 'click' ) ) ;
1630+ // Click on the chip to commit it
1631+ clickElemAndBlur ( filterChip , input ) ;
16281632 fix . detectChanges ( ) ;
1629- await wait ( 16 ) ;
1633+ await wait ( 100 ) ;
16301634 expect ( filterChip . componentInstance . selected ) . toBeFalsy ( ) ;
16311635
16321636 filterValue = 'c' ;
16331637 sendInput ( input , filterValue , fix ) ;
16341638 fix . detectChanges ( ) ;
1635- await wait ( 16 ) ;
1639+ await wait ( 100 ) ;
16361640
16371641 let filterChips = filterUIRow . queryAll ( By . directive ( IgxChipComponent ) ) ;
16381642 expect ( filterChips [ 1 ] ) . toBeTruthy ( ) ;
16391643 expect ( filterChips [ 1 ] . componentInstance . selected ) . toBeTruthy ( ) ;
16401644
16411645 GridFunctions . simulateKeyboardEvent ( input , 'keydown' , 'Enter' ) ;
16421646 fix . detectChanges ( ) ;
1643- await wait ( 16 ) ;
1647+ await wait ( 100 ) ;
16441648 expect ( filterChips [ 1 ] . componentInstance . selected ) . toBeFalsy ( ) ;
16451649
16461650 let selectedColumn = GridFunctions . getColumnHeader ( 'Downloads' , fix ) ;
16471651 selectedColumn . nativeElement . dispatchEvent ( new MouseEvent ( 'click' ) ) ;
16481652 fix . detectChanges ( ) ;
1649- await wait ( 16 ) ;
1653+ await wait ( 100 ) ;
16501654
16511655 selectedColumn = GridFunctions . getColumnHeader ( 'ProductName' , fix ) ;
16521656 selectedColumn . nativeElement . dispatchEvent ( new MouseEvent ( 'click' ) ) ;
16531657 fix . detectChanges ( ) ;
1654- await wait ( 16 ) ;
1658+ await wait ( 100 ) ;
16551659
16561660 filterChips = filterUIRow . queryAll ( By . directive ( IgxChipComponent ) ) ;
16571661 expect ( filterChips [ 0 ] . componentInstance . selected ) . toBeFalsy ( ) ;
@@ -6080,3 +6084,13 @@ function verifyChipVisibility(fix, index: number, shouldBeFullyVisible: boolean)
60806084 expect ( chipRect . left >= visibleChipAreaRect . left && chipRect . right <= visibleChipAreaRect . right )
60816085 . toBe ( shouldBeFullyVisible , 'chip[' + index + '] visibility is incorrect' ) ;
60826086}
6087+
6088+ function clickElemAndBlur ( clickElem , blurElem ) {
6089+ const elementRect = clickElem . nativeElement . getBoundingClientRect ( ) ;
6090+ UIInteractions . simulatePointerEvent ( 'pointerdown' , clickElem . nativeElement , elementRect . left , elementRect . top ) ;
6091+ blurElem . nativeElement . blur ( ) ;
6092+ blurElem . nativeElement . dispatchEvent ( new FocusEvent ( 'focusout' , { bubbles : true } ) ) ;
6093+ ( clickElem as DebugElement ) . nativeElement . focus ( ) ;
6094+ UIInteractions . simulatePointerEvent ( 'pointerup' , clickElem . nativeElement , elementRect . left , elementRect . top ) ;
6095+ UIInteractions . simulateMouseEvent ( 'click' , clickElem . nativeElement , 10 , 10 ) ;
6096+ }
0 commit comments