Skip to content

Commit d417c7d

Browse files
committed
test(grid): provide resize strategy
1 parent 1a9b2e8 commit d417c7d

File tree

5 files changed

+143
-47
lines changed

5 files changed

+143
-47
lines changed

projects/angular/components/ui-grid/src/body/ui-grid-column.directive.spec.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
import * as faker from 'faker';
2+
import {
3+
ResizeStrategy,
4+
UI_GRID_RESIZE_STRATEGY_STREAM,
5+
} from 'projects/angular/components/ui-grid/src/managers';
6+
import { BehaviorSubject } from 'rxjs';
27
import {
38
finalize,
49
take,
@@ -75,6 +80,10 @@ describe('Component: UiGridColumn', () => {
7580
TestBed.configureTestingModule({
7681
imports: [UiGridModule],
7782
declarations: [TestFixtureComponent],
83+
providers: [{
84+
provide: UI_GRID_RESIZE_STRATEGY_STREAM,
85+
useFactory: () => new BehaviorSubject(ResizeStrategy.ImmediateNeighbourHalt),
86+
}],
7887
});
7988

8089
fixture = TestBed.createComponent(TestFixtureComponent);

projects/angular/components/ui-grid/src/managers/filter-manager.spec.ts

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,18 @@ import {
99
toArray,
1010
} from 'rxjs/operators';
1111

12+
import { TestBed } from '@angular/core/testing';
1213
import { UiGridFooterDirective } from '@uipath/angular/components/ui-grid';
1314
import { ISuggestValue } from '@uipath/angular/components/ui-suggest';
1415

1516
import { UiGridColumnDirective } from '../body/ui-grid-column.directive';
1617
import { IDropdownOption } from '../filters/ui-grid-dropdown-filter.directive';
1718
import { UiGridHeaderDirective } from '../header/ui-grid-header.directive';
18-
import { FilterManager } from '../managers';
19+
import {
20+
FilterManager,
21+
ResizeStrategy,
22+
UI_GRID_RESIZE_STRATEGY_STREAM,
23+
} from '../managers';
1924
import {
2025
generateColumn,
2126
generateDropdownFilter,
@@ -49,7 +54,16 @@ const searchableDropdownToFilterOptionDefinition = <T>(
4954
});
5055

5156
describe('Component: UiGrid', () => {
52-
const generateColumnList = generateListFactory(generateColumn);
57+
beforeEach(() => {
58+
TestBed.configureTestingModule({
59+
providers: [{
60+
provide: UI_GRID_RESIZE_STRATEGY_STREAM,
61+
useFactory: () => new BehaviorSubject(ResizeStrategy.ImmediateNeighbourHalt),
62+
}],
63+
});
64+
});
65+
66+
const generateColumnList = generateListFactory(generateColumn, TestBed.runInInjectionContext);
5367

5468
describe('Manager: FilterManager', () => {
5569
let manager: FilterManager<ITestEntity>;
@@ -139,8 +153,8 @@ describe('Component: UiGrid', () => {
139153
});
140154

141155
it('should not set page index to 0 for same search term', () => {
142-
const footer = new UiGridFooterDirective();
143-
const footerEmitSpy = spyOn(footer.pageChange, 'emit');
156+
const footer = new UiGridFooterDirective();
157+
const footerEmitSpy = spyOn(footer.pageChange, 'emit');
144158
manager.searchChange('d', header, footer);
145159
expect(footerEmitSpy).toHaveBeenCalledTimes(0);
146160
});
@@ -150,16 +164,16 @@ describe('Component: UiGrid', () => {
150164
footer.state.pageIndex = 2;
151165
const footerEmitSpy = spyOn(footer.pageChange, 'emit').and.callThrough();
152166

153-
footer.pageChange
154-
.pipe(
155-
first(),
156-
finalize(done),
157-
)
158-
.subscribe((pageChange) => expect(pageChange.pageIndex).toEqual(0));
167+
footer.pageChange
168+
.pipe(
169+
first(),
170+
finalize(done),
171+
)
172+
.subscribe((pageChange) => expect(pageChange.pageIndex).toEqual(0));
159173

160-
manager.searchChange('e', header, footer);
161-
expect(footerEmitSpy).toHaveBeenCalledTimes(1);
162-
});
174+
manager.searchChange('e', header, footer);
175+
expect(footerEmitSpy).toHaveBeenCalledTimes(1);
176+
});
163177
});
164178

165179
describe('Event: filter change', () => {

projects/angular/components/ui-grid/src/managers/sort-manager.spec.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,31 @@ import {
66
take,
77
} from 'rxjs/operators';
88

9+
import { TestBed } from '@angular/core/testing';
10+
911
import { UiGridColumnDirective } from '../body/ui-grid-column.directive';
10-
import { SortManager } from '../managers';
12+
import {
13+
ResizeStrategy,
14+
SortManager,
15+
UI_GRID_RESIZE_STRATEGY_STREAM,
16+
} from '../managers';
1117
import {
1218
generateColumn,
1319
generateListFactory,
1420
ITestEntity,
1521
} from '../test';
1622

1723
describe('Component: UiGrid', () => {
18-
const generateColumnList = generateListFactory(generateColumn);
24+
beforeEach(() => {
25+
TestBed.configureTestingModule({
26+
providers: [{
27+
provide: UI_GRID_RESIZE_STRATEGY_STREAM,
28+
useFactory: () => new BehaviorSubject(ResizeStrategy.ImmediateNeighbourHalt),
29+
}],
30+
});
31+
});
32+
33+
const generateColumnList = generateListFactory(generateColumn, TestBed.runInInjectionContext);
1934

2035
describe('Manager: SortManager', () => {
2136
let manager: SortManager<ITestEntity>;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import * as faker from 'faker';
22

3-
export const generateListFactory = <T>(mapper: () => T) =>
4-
(count: number | 'random' = 5) =>
3+
export const generateListFactory = <T>(mapper: () => T, wrapper: (fn: (...args: any[]) => T[]) => T[] = (fn) => fn()) =>
4+
(count: number | 'random' = 5) => wrapper(() =>
55
Array(count === 'random' ?
66
faker.random.number({
77
min: 5,
88
max: 100,
99
}) :
1010
count,
11-
).fill(0).map(mapper);
11+
).fill(0).map(mapper));

0 commit comments

Comments
 (0)