Skip to content

Commit 985a353

Browse files
authored
Merge branch 'master' into refactor-mch-tests-m
2 parents 39fc81d + b1eec0e commit 985a353

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

Diff for: projects/igniteui-angular/src/lib/grids/grid/grid-mrl-keyboard-nav.spec.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { IgxGridModule, IgxGridCellComponent, IGridCellEventArgs } from './publi
66
import { IgxGridComponent } from './grid.component';
77
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
88
import { configureTestSuite } from '../../test-utils/configure-suite';
9-
import { wait, UIInteractions } from '../../test-utils/ui-interactions.spec';
9+
import { wait, UIInteractions, waitForSelectionChange } from '../../test-utils/ui-interactions.spec';
1010
import { setupGridScrollDetection } from '../../test-utils/helper-utils.spec';
1111
import { SortingDirection } from '../../data-operations/sorting-expression.interface';
1212
import { DefaultSortingStrategy } from '../../data-operations/sorting-strategy';
@@ -1894,21 +1894,19 @@ describe('IgxGrid Multi Row Layout - Keyboard navigation #grid', () => {
18941894
fix.detectChanges();
18951895

18961896
GridFunctions.simulateGridContentKeydown(fix, 'ArrowRight', false, false, true);
1897-
await wait(DEBOUNCETIME * 2);
1897+
await waitForSelectionChange(fix.componentInstance.grid);
18981898
fix.detectChanges();
18991899

19001900
expect(fix.componentInstance.selectedCell.value).toEqual(fix.componentInstance.data[0].Phone);
19011901
expect(fix.componentInstance.selectedCell.column.field).toMatch('Phone');
19021902

19031903
GridFunctions.simulateGridContentKeydown(fix, 'ArrowDown');
1904-
await wait();
19051904
fix.detectChanges();
19061905

19071906
expect(fix.componentInstance.selectedCell.value).toEqual(fix.componentInstance.data[0].Fax);
19081907
expect(fix.componentInstance.selectedCell.column.field).toMatch('Fax');
19091908

19101909
GridFunctions.simulateGridContentKeydown(fix, 'ArrowUp');
1911-
await wait();
19121910
fix.detectChanges();
19131911

19141912
expect(fix.componentInstance.selectedCell.value).toEqual(fix.componentInstance.data[0].Phone);

Diff for: projects/igniteui-angular/src/lib/grids/grid/grid.master-detail.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { async, TestBed, ComponentFixture, fakeAsync, tick } from '@angular/core
33
import { configureTestSuite } from '../../test-utils/configure-suite';
44
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
55
import { By } from '@angular/platform-browser';
6-
import { UIInteractions, wait} from '../../test-utils/ui-interactions.spec';
6+
import { UIInteractions, wait, waitForActiveNodeChange} from '../../test-utils/ui-interactions.spec';
77
import { IgxGridModule } from './public_api';
88
import { IgxGridComponent } from './grid.component';
99
import { IgxGridRowComponent } from './grid-row.component';
@@ -639,7 +639,7 @@ describe('IgxGrid Master Detail #grid', () => {
639639
fix.detectChanges();
640640

641641
UIInteractions.triggerEventHandlerKeyDown('ArrowUp', gridContent, false, false, true);
642-
await wait(DEBOUNCETIME * 2);
642+
await waitForActiveNodeChange(grid);
643643
fix.detectChanges();
644644

645645
const fRow = grid.getRowByIndex(0);

Diff for: projects/igniteui-angular/src/lib/test-utils/ui-interactions.spec.ts

+22
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,31 @@
1+
import { first } from 'rxjs/operators';
12
import { HorizontalAlignment, VerticalAlignment, Point } from '../services/public_api';
23
import { DebugElement } from '@angular/core';
34

45
export function wait(ms = 0) {
56
return new Promise((resolve, reject) => setTimeout(resolve, ms));
67
}
8+
9+
export function waitForActiveNodeChange (grid) {
10+
// wait for grid scroll operation to complete and state to be updated.
11+
return new Promise((resolve, reject) => {
12+
grid.activeNodeChange.pipe(first()).subscribe(() => {
13+
grid.cdr.detectChanges();
14+
resolve();
15+
});
16+
});
17+
}
18+
19+
export function waitForSelectionChange (grid) {
20+
// wait for grid scroll operation to complete and state to be updated.
21+
return new Promise((resolve, reject) => {
22+
grid.onSelection.pipe(first()).subscribe(() => {
23+
grid.cdr.detectChanges();
24+
resolve();
25+
});
26+
});
27+
}
28+
729
declare var Touch: {
830
prototype: Touch;
931
new(prop): Touch;

0 commit comments

Comments
 (0)