@@ -22,13 +22,14 @@ describe(`Update to ${version}`, () => {
2222 }
2323 } ;
2424
25- const migrationName = 'migration-22' ;
26-
2725 beforeEach ( ( ) => {
2826 appTree = new UnitTestTree ( new EmptyTree ( ) ) ;
2927 appTree . create ( '/angular.json' , JSON . stringify ( configJson ) ) ;
3028 } ) ;
3129
30+ const migrationName = 'migration-22' ;
31+ const lineBreaksAndSpaceRegex = / \s / g;
32+
3233 it ( 'should rename CarouselAnimationType to HorizontalAnimationType' , async ( ) => {
3334 appTree . create (
3435 '/testSrc/appPrefix/component/test.component.ts' ,
@@ -67,4 +68,124 @@ describe(`Update to ${version}`, () => {
6768 )
6869 ) . toEqual ( expectedContent ) ;
6970 } ) ;
71+
72+ /* eslint-disable arrow-parens */
73+ it ( 'Should properly rename columns property to columnsCollection' , async ( ) => {
74+ appTree . create ( '/testSrc/appPrefix/component/test.component.ts' ,
75+ `
76+ import { IgxGridComponent } from 'igniteui-angular';
77+ export class MyClass {
78+ @ViewChild(IgxGridComponent, { read: IgxGridComponent })
79+ public grid1: IgxGridComponent;
80+
81+ public ngAfterViewInit() {
82+ const columns = grid1.columns;
83+ }
84+ }
85+ ` ) ;
86+
87+ const tree = await schematicRunner
88+ . runSchematicAsync ( migrationName , { } , appTree )
89+ . toPromise ( ) ;
90+
91+ expect (
92+ tree . readContent ( '/testSrc/appPrefix/component/test.component.ts' )
93+ ) . toEqual (
94+ `
95+ import { IgxGridComponent } from 'igniteui-angular';
96+ export class MyClass {
97+ @ViewChild(IgxGridComponent, { read: IgxGridComponent })
98+ public grid1: IgxGridComponent;
99+
100+ public ngAfterViewInit() {
101+ const columns = grid1.columnsCollection;
102+ }
103+ }
104+ `
105+ ) ;
106+ } ) ;
107+
108+ it ( 'Should properly rename columns property to columnsCollection - treeGrid' , async ( ) => {
109+ appTree . create ( '/testSrc/appPrefix/component/test.component.ts' ,
110+ `
111+ import { IgxTreeGridComponent } from 'igniteui-angular';
112+ export class MyClass {
113+ @ViewChild(IgxTreeGridComponent, { read: IgxTreeGridComponent })
114+ public tGrid1: IgxTreeGridComponent;
115+
116+ public ngAfterViewInit() {
117+ const columns = this.tGrid1.columns;
118+ }
119+
120+ public soSth() {
121+ const editableColumns = this.tGrid1.columns.filter(c => e.editable);
122+ }
123+ }
124+ ` ) ;
125+
126+ const tree = await schematicRunner
127+ . runSchematicAsync ( migrationName , { } , appTree )
128+ . toPromise ( ) ;
129+
130+ expect (
131+ tree . readContent ( '/testSrc/appPrefix/component/test.component.ts' )
132+ ) . toEqual (
133+ `
134+ import { IgxTreeGridComponent } from 'igniteui-angular';
135+ export class MyClass {
136+ @ViewChild(IgxTreeGridComponent, { read: IgxTreeGridComponent })
137+ public tGrid1: IgxTreeGridComponent;
138+
139+ public ngAfterViewInit() {
140+ const columns = this.tGrid1.columnsCollection;
141+ }
142+
143+ public soSth() {
144+ const editableColumns = this.tGrid1.columnsCollection.filter(c => e.editable);
145+ }
146+ }
147+ `
148+ ) ;
149+ } ) ;
150+
151+ it ( 'should remove paging and paginationTemplate property and define a igx-paginator component with custom content' , async ( ) => {
152+ appTree . create (
153+ '/testSrc/appPrefix/component/test.component.html' , `
154+ <div class="columnHidingContainer">
155+ <div *ngFor="let col of grid.columns">
156+ {{col.field}}
157+ </div>
158+ </div>
159+ <div class="gridContainer">
160+ <igx-grid igxPreventDocumentScroll #grid [data]="data" [autoGenerate]="false" width="100%" height="560px" columnWidth="200px"
161+ [allowFiltering]="true">
162+ <igx-column [field]="'ID'" dataType="string" [sortable]="true"></igx-column>
163+ <igx-column [field]="'ContactName'" dataType="string" [sortable]="true" [disableHiding]="true"></igx-column>
164+ <igx-column [field]="'ContactTitle'" dataType="string" [sortable]="true" [disableHiding]="true"></igx-column>
165+ <igx-column [field]="'City'" dataType="string" [sortable]="true"></igx-column>
166+ <igx-column [field]="'CompanyName'" dataType="string" [sortable]="true"></igx-column>
167+ </igx-grid>
168+ </div>` ) ;
169+ const tree = await schematicRunner . runSchematicAsync ( migrationName , { } , appTree )
170+ . toPromise ( ) ;
171+
172+ expect ( tree . readContent ( '/testSrc/appPrefix/component/test.component.html' ) . replace ( lineBreaksAndSpaceRegex , '' ) )
173+ . toEqual ( `
174+ <div class="columnHidingContainer">
175+ <div *ngFor="let col of grid.columnsCollection">
176+ {{col.field}}
177+ </div>
178+ </div>
179+ <div class="gridContainer">
180+ <igx-grid igxPreventDocumentScroll #grid [data]="data" [autoGenerate]="false" width="100%" height="560px" columnWidth="200px"
181+ [allowFiltering]="true">
182+ <igx-column [field]="'ID'" dataType="string" [sortable]="true"></igx-column>
183+ <igx-column [field]="'ContactName'" dataType="string" [sortable]="true" [disableHiding]="true"></igx-column>
184+ <igx-column [field]="'ContactTitle'" dataType="string" [sortable]="true" [disableHiding]="true"></igx-column>
185+ <igx-column [field]="'City'" dataType="string" [sortable]="true"></igx-column>
186+ <igx-column [field]="'CompanyName'" dataType="string" [sortable]="true"></igx-column>
187+ </igx-grid>
188+ </div>
189+ ` . replace ( lineBreaksAndSpaceRegex , '' ) ) ;
190+ } ) ;
70191} ) ;
0 commit comments