@apteco/ngth
Version:
ng-bullet successor to help speed up angular testing
29 lines • 3.5 kB
JavaScript
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