ngx-testing-tools
Version:
Makes Angular testing easier
25 lines • 4.57 kB
JavaScript
import { ElementRef, ViewContainerRef } from '@angular/core';
import { assertDirectiveCtor } from '../common/assertions/assert-directive-ctor';
import { RendererTestBedFactory } from '../common/test-beds/renderer/renderer-test-bed-factory';
import { HostElementRef } from './host/host-element-ref';
import { HOST_FIXTURE } from './host/host-fixture.token';
import { buildDirectiveTools } from './tools/directive-tools';
export class DirectiveTestBedFactory extends RendererTestBedFactory {
constructor(rootDirective, hostComponent, options) {
assertDirectiveCtor(rootDirective);
super(rootDirective, hostComponent, options);
this.deferredTools = () => buildDirectiveTools(this);
this.provide([
rootDirective,
{ provide: HOST_FIXTURE, useFactory: () => this.fixture },
{ provide: ElementRef, useClass: HostElementRef },
ViewContainerRef,
]);
}
async compile() {
await super.compile();
this.createHostFixture();
this.injectDescribed();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLXRlc3QtYmVkLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVzdGluZy10b29scy9zcmMvbGliL2RpcmVjdGl2ZS10ZXN0LWJlZC9kaXJlY3RpdmUtdGVzdC1iZWQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRWhHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxPQUFPLHVCQUlYLFNBQVEsc0JBQWtIO0lBRTFILFlBQ0UsYUFBa0MsRUFDbEMsYUFBNkIsRUFDN0IsT0FBZ0M7UUFFaEMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkMsS0FBSyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFVNUIsa0JBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQVJqRSxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ1gsYUFBYTtZQUNiLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN6RCxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTtZQUNqRCxnQkFBZ0I7U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUllLEtBQUssQ0FBQyxPQUFPO1FBQzNCLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnREaXJlY3RpdmVDdG9yIH0gZnJvbSAnLi4vY29tbW9uL2Fzc2VydGlvbnMvYXNzZXJ0LWRpcmVjdGl2ZS1jdG9yJztcbmltcG9ydCB7IFJlbmRlcmVyVGVzdEJlZEZhY3RvcnkgfSBmcm9tICcuLi9jb21tb24vdGVzdC1iZWRzL3JlbmRlcmVyL3JlbmRlcmVyLXRlc3QtYmVkLWZhY3RvcnknO1xuaW1wb3J0IHsgSW5qZWN0aW9uU3RvcmUgfSBmcm9tICcuLi9jb21tb24vdG9vbHMvc3RvcmUvbW9kZWxzL2luamVjdGVkLXN0b3JlLm1vZGVsJztcbmltcG9ydCB7IEhvc3RFbGVtZW50UmVmIH0gZnJvbSAnLi9ob3N0L2hvc3QtZWxlbWVudC1yZWYnO1xuaW1wb3J0IHsgSE9TVF9GSVhUVVJFIH0gZnJvbSAnLi9ob3N0L2hvc3QtZml4dHVyZS50b2tlbic7XG5pbXBvcnQgeyBEaXJlY3RpdmVUZXN0QmVkT3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IERpcmVjdGl2ZVRvb2xzIH0gZnJvbSAnLi90b29scyc7XG5pbXBvcnQgeyBidWlsZERpcmVjdGl2ZVRvb2xzIH0gZnJvbSAnLi90b29scy9kaXJlY3RpdmUtdG9vbHMnO1xuXG5leHBvcnQgY2xhc3MgRGlyZWN0aXZlVGVzdEJlZEZhY3Rvcnk8XG4gIERpcmVjdGl2ZVR5cGUsXG4gIEhvc3RUeXBlLFxuICBTdG9yZSBleHRlbmRzIEluamVjdGlvblN0b3JlID0gSW5qZWN0aW9uU3RvcmVcbj4gZXh0ZW5kcyBSZW5kZXJlclRlc3RCZWRGYWN0b3J5PERpcmVjdGl2ZVR5cGUsIFN0b3JlLCBEaXJlY3RpdmVUb29sczxEaXJlY3RpdmVUeXBlLCBIb3N0VHlwZSwgU3RvcmVbJ2luamVjdGVkJ10+LCBIb3N0VHlwZT4ge1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICByb290RGlyZWN0aXZlOiBUeXBlPERpcmVjdGl2ZVR5cGU+LFxuICAgIGhvc3RDb21wb25lbnQ6IFR5cGU8SG9zdFR5cGU+LFxuICAgIG9wdGlvbnM6IERpcmVjdGl2ZVRlc3RCZWRPcHRpb25zLFxuICApIHtcbiAgICBhc3NlcnREaXJlY3RpdmVDdG9yKHJvb3REaXJlY3RpdmUpO1xuICAgIHN1cGVyKHJvb3REaXJlY3RpdmUsIGhvc3RDb21wb25lbnQsIG9wdGlvbnMpO1xuXG4gICAgdGhpcy5wcm92aWRlKFtcbiAgICAgIHJvb3REaXJlY3RpdmUsXG4gICAgICB7IHByb3ZpZGU6IEhPU1RfRklYVFVSRSwgdXNlRmFjdG9yeTogKCkgPT4gdGhpcy5maXh0dXJlIH0sXG4gICAgICB7IHByb3ZpZGU6IEVsZW1lbnRSZWYsIHVzZUNsYXNzOiBIb3N0RWxlbWVudFJlZiB9LFxuICAgICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkZWZlcnJlZFRvb2xzID0gKCkgPT4gYnVpbGREaXJlY3RpdmVUb29scyh0aGlzKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgY29tcGlsZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5jb21waWxlKCk7XG4gICAgdGhpcy5jcmVhdGVIb3N0Rml4dHVyZSgpO1xuICAgIHRoaXMuaW5qZWN0RGVzY3JpYmVkKCk7XG4gIH1cbn1cbiJdfQ==