UNPKG

igniteui-angular-sovn

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

105 lines (91 loc) 4.42 kB
import * as path from "path"; import { EmptyTree } from "@angular-devkit/schematics"; import { SchematicTestRunner, UnitTestTree, } from "@angular-devkit/schematics/testing"; describe("Update 10.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 remove the type property if the value is not a valid type", async () => { appTree.create( "/testSrc/appPrefix/component/test.component.html", // eslint-disable-next-line max-len `<igx-input-group type="line"></igx-input-group><igx-input-group type="box"></igx-input-group><igx-input-group type="border"></igx-input-group><igx-input-group type="search"></igx-input-group><igx-input-group type="bootstrap"></igx-input-group><igx-input-group type="fluent"></igx-input-group><igx-input-group type="fluent_search"></igx-input-group><igx-input-group type="indigo"></igx-input-group><igx-input-group type='bootstrap'></igx-input-group><igx-input-group type='fluent'></igx-input-group><igx-input-group type='fluent_search'></igx-input-group><igx-input-group type='indigo'></igx-input-group>` ); const tree = await schematicRunner .runSchematicAsync("migration-17", {}, appTree) .toPromise(); expect( tree.readContent("/testSrc/appPrefix/component/test.component.html") // eslint-disable-next-line max-len ).toEqual( `<igx-input-group type="line"></igx-input-group><igx-input-group type="box"></igx-input-group><igx-input-group type="border"></igx-input-group><igx-input-group type="search"></igx-input-group><igx-input-group></igx-input-group><igx-input-group></igx-input-group><igx-input-group></igx-input-group><igx-input-group></igx-input-group><igx-input-group></igx-input-group><igx-input-group></igx-input-group><igx-input-group></igx-input-group><igx-input-group></igx-input-group>` ); }); it("should replace selectedRows() with selectedRows in ts files", async () => { pending("set up tests for migrations through lang service"); }); it("Should remove references to deprecated `pane` property of `IExpansionPanelEventArgs`", async () => { pending("set up tests for migrations through lang service"); appTree.create( "/testSrc/appPrefix/component/expansion-test.component.ts", `import { Component, ViewChild } from '@angular/core'; import { IExpansionPanelEventArgs, IgxExpansionPanelComponent } from 'igniteui-angular-sovn'; @Component({ selector: 'app-expansion-test', templateUrl: './expansion-test.component.html', styleUrls: ['./expansion-test.component.scss'] }) export class ExpansionTestComponent { @ViewChild(IgxExpansionPanelComponent, { static: true }) public panel: IgxExpansionPanelComponent; public onPanelOpened(event: IExpansionPanelEventArgs) { console.log(event.panel); } }` ); const tree = await schematicRunner .runSchematicAsync("migration-17", {}, appTree) .toPromise(); const expectedContent = `import { Component, ViewChild } from '@angular/core'; import { IExpansionPanelEventArgs, IgxExpansionPanelComponent } from 'igniteui-angular-sovn'; @Component({ selector: 'app-expansion-test', templateUrl: './expansion-test.component.html', styleUrls: ['./expansion-test.component.scss'] }) export class ExpansionTestComponent { @ViewChild(IgxExpansionPanelComponent, { static: true }) public panel: IgxExpansionPanelComponent; public onPanelOpened(event: IExpansionPanelEventArgs) { console.log(event.owner); } }`; expect( tree.readContent( "/testSrc/appPrefix/component/expansion-test.component.ts" ) ).toEqual(expectedContent); }); });