UNPKG

@apteco/ngth

Version:

ng-bullet successor to help speed up angular testing

29 lines 3.5 kB
import { TestBed } from '@angular/core/testing'; export class ComponentFixtureWrapper { constructor(fixture) { this.fixture = fixture; } get component() { return this.fixture.componentInstance; } get debugElement() { return this.fixture.debugElement; } get element() { return this.debugElement.nativeElement; } detectChanges() { this.fixture.detectChanges(); } } export const createComponent = (component) => { return new ComponentFixtureWrapper(TestBed.createComponent(component)); }; export const createStableComponent = async (component) => { const fixtureWrapper = createComponent(component); fixtureWrapper.detectChanges(); await fixtureWrapper.fixture.whenStable(); fixtureWrapper.detectChanges(); return fixtureWrapper; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWZpeHR1cmUtd3JhcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25ndGgvc3JjL2xpYi9jb21wb25lbnQtZml4dHVyZS13cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsT0FBTyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBR2hGLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBbUIsT0FBNEI7UUFBNUIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7SUFBRyxDQUFDO0lBRW5ELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFJLFNBQWtCLEVBQUUsRUFBRTtJQUN2RCxPQUFPLElBQUksdUJBQXVCLENBQUksT0FBTyxDQUFDLGVBQWUsQ0FBSSxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBSyxTQUFrQixFQUFFLEVBQUU7SUFDbkUsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvQixNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDMUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUsIFRlc3RCZWQsIHdhaXRGb3JBc3luYyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBEZWJ1Z0VsZW1lbnQsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIENvbXBvbmVudEZpeHR1cmVXcmFwcGVyPFQ+IHtcbiAgY29uc3RydWN0b3IocHVibGljIGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8VD4pIHt9XG5cbiAgcHVibGljIGdldCBjb21wb25lbnQoKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVidWdFbGVtZW50KCk6IERlYnVnRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS5kZWJ1Z0VsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmRlYnVnRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGRldGVjdENoYW5nZXMoKSB7XG4gICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29tcG9uZW50ID0gPFQ+KGNvbXBvbmVudDogVHlwZTxUPikgPT4ge1xuICByZXR1cm4gbmV3IENvbXBvbmVudEZpeHR1cmVXcmFwcGVyPFQ+KFRlc3RCZWQuY3JlYXRlQ29tcG9uZW50PFQ+KGNvbXBvbmVudCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVN0YWJsZUNvbXBvbmVudCA9IGFzeW5jIDxUPihjb21wb25lbnQ6IFR5cGU8VD4pID0+IHtcbiAgY29uc3QgZml4dHVyZVdyYXBwZXIgPSBjcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgZml4dHVyZVdyYXBwZXIuZGV0ZWN0Q2hhbmdlcygpO1xuICBhd2FpdCBmaXh0dXJlV3JhcHBlci5maXh0dXJlLndoZW5TdGFibGUoKTtcbiAgZml4dHVyZVdyYXBwZXIuZGV0ZWN0Q2hhbmdlcygpO1xuICByZXR1cm4gZml4dHVyZVdyYXBwZXI7XG59O1xuIl19