igniteui-angular-sovn
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
79 lines (70 loc) • 3.25 kB
text/typescript
import * as path from 'path';
import { EmptyTree } from '@angular-devkit/schematics';
import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
describe('Update 6.2.0', () => {
let appTree: UnitTestTree;
const schematicRunner = new SchematicTestRunner('ig-migrate', path.join(__dirname, '../migration-collection.json'));
const configJson = {
projects: {
testProj: {
root: '/',
sourceRoot: '/testSrc'
}
},
schematics: {
'@schematics/angular:component': {
prefix: 'appPrefix'
}
}
};
beforeEach(() => {
appTree = new UnitTestTree(new EmptyTree());
appTree.create('/angular.json', JSON.stringify(configJson));
});
it('should update igxDatePicker selector', async () => {
appTree.create(
'/testSrc/appPrefix/component/test.component.html',
`<igx-datePicker></igx-datePicker>`
);
const tree = await schematicRunner.runSchematicAsync('migration-05', {}, appTree)
.toPromise();
expect(tree.readContent('/testSrc/appPrefix/component/test.component.html'))
.toEqual(`<igx-date-picker></igx-date-picker>`);
});
it('should remove igx-combo height property', async () => {
appTree.create(
'/testSrc/appPrefix/component/test.component.html',
`<igx-combo [height]="200px"></igx-combo>`
);
const tree = await schematicRunner.runSchematicAsync('migration-05', {}, appTree)
.toPromise();
expect(tree.readContent('/testSrc/appPrefix/component/test.component.html'))
.toEqual(`<igx-combo></igx-combo>`);
});
it('should move igx-icon name property value between element tags only for material fontSet', async () => {
appTree.create(
'/testSrc/appPrefix/component/test.component.html',
`<igx-icon fontSet='material' name='phone'></igx-icon>
<igx-icon fontSet="material-icons" [name]="getName()"></igx-icon>
<igx-icon name="accessory"></igx-icon>
<igx-icon fontSet="svg-icons" name="my-icon"></igx-icon>`
);
const tree = await schematicRunner.runSchematicAsync('migration-05', {}, appTree)
.toPromise();
expect(tree.readContent('/testSrc/appPrefix/component/test.component.html'))
.toEqual(`<igx-icon fontSet='material'>phone</igx-icon>
<igx-icon fontSet="material-icons">{{getName()}}</igx-icon>
<igx-icon>accessory</igx-icon>
<igx-icon fontSet="svg-icons" name="my-icon"></igx-icon>`);
});
it('should rename igx-grid onEditDone event', async () => {
appTree.create(
'/testSrc/appPrefix/component/test.component.html',
`<igx-grid (onEditDone)="handler"></igx-grid> <not-igx-grid (onEditDone)="handler"></not-igx-grid>`
);
const tree = await schematicRunner.runSchematicAsync('migration-05', {}, appTree)
.toPromise();
expect(tree.readContent('/testSrc/appPrefix/component/test.component.html'))
.toEqual(`<igx-grid (onCellEdit)="handler"></igx-grid> <not-igx-grid (onEditDone)="handler"></not-igx-grid>`);
});
});