igniteui-angular-sovn
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
66 lines (60 loc) • 2.08 kB
text/typescript
import * as path from 'path';
import { EmptyTree } from '@angular-devkit/schematics';
import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
describe('Update 7.0.2', () => {
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 remove .forRoot() from imports', async () => {
appTree.create(
'/testSrc/appPrefix/module/test.module.ts',
`@NgModule({
declarations: components,
imports: [
IgxIconModule.forRoot(),
IgxGridModule.forRoot(),
IgxTreeGridModule,
module1
],
providers: [
LocalService,
],
bootstrap: [AppComponent]
})
export class AppModule { }`);
const tree = await schematicRunner.runSchematicAsync('migration-07', {}, appTree)
.toPromise();
expect(tree.readContent('/testSrc/appPrefix/module/test.module.ts'))
.toEqual(
`@NgModule({
declarations: components,
imports: [
IgxIconModule,
IgxGridModule.forRoot(),
IgxTreeGridModule,
module1
],
providers: [
LocalService,
],
bootstrap: [AppComponent]
})
export class AppModule { }`);
});
});