@orchestrator/ngx-testing
Version:
Testing utilities for Angular projects
56 lines • 7.89 kB
JavaScript
import { __decorate } from "tslib";
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { ExtraConfigToken, TestModuleToken, TestTypeKindToken, TestTypeToken, } from './tokens';
import { TestTypeKind, } from './types';
import { mergeArrays } from './util';
let NgxTestingModule = class NgxTestingModule {
static forComponent(compType, extras = {}) {
const testModule = getTestingModuleFor(compType, compType, extras.ngModule);
return {
ngModule: testModule,
providers: [
{ provide: TestModuleToken, useValue: testModule },
{ provide: TestTypeToken, useValue: compType },
{ provide: TestTypeKindToken, useValue: TestTypeKind.Component },
{ provide: ExtraConfigToken, useValue: extras },
],
};
}
static forDirective(dirType, extras = {}) {
const testModule = getTestingModuleFor(dirType, extras.hostComponent, extras.ngModule);
return {
ngModule: testModule,
providers: [
{ provide: TestModuleToken, useValue: testModule },
{ provide: TestTypeToken, useValue: dirType },
{ provide: TestTypeKindToken, useValue: TestTypeKind.Directive },
{ provide: ExtraConfigToken, useValue: extras },
],
};
}
};
NgxTestingModule = __decorate([
NgModule({
imports: [CommonModule],
exports: [CommonModule],
})
], NgxTestingModule);
export { NgxTestingModule };
function getTestingModuleFor(type, entryType, extra = {}) {
let TestingModule = class TestingModule {
};
TestingModule = __decorate([
NgModule({
imports: mergeArrays(extra.imports, [NgxTestingModule]),
exports: mergeArrays(extra.exports, [NgxTestingModule, type]),
declarations: mergeArrays(extra.declarations, [type]),
entryComponents: entryType
? mergeArrays(extra.entryComponents, [entryType])
: extra.entryComponents,
schemas: extra.schemas,
})
], TestingModule);
return TestingModule;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRlc3RpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG9yY2hlc3RyYXRvci9uZ3gtdGVzdGluZy8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUVwRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsYUFBYSxHQUNkLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFHTCxZQUFZLEdBQ2IsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQU1yQyxJQUFhLGdCQUFnQixHQUE3QixNQUFhLGdCQUFnQjtJQUMzQixNQUFNLENBQUMsWUFBWSxDQUNqQixRQUFpQixFQUNqQixTQUF1QyxFQUFFO1FBRXpDLE1BQU0sVUFBVSxHQUFHLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVFLE9BQU87WUFDTCxRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7Z0JBQ2xELEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO2dCQUM5QyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLFNBQVMsRUFBRTtnQkFDaEUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUNoRDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FDakIsT0FBZ0IsRUFDaEIsU0FBdUMsRUFBRTtRQUV6QyxNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FDcEMsT0FBTyxFQUNQLE1BQU0sQ0FBQyxhQUFhLEVBQ3BCLE1BQU0sQ0FBQyxRQUFRLENBQ2hCLENBQUM7UUFDRixPQUFPO1lBQ0wsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFO2dCQUNsRCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtnQkFDN0MsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7YUFDaEQ7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUFwQ1ksZ0JBQWdCO0lBSjVCLFFBQVEsQ0FBQztRQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN2QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7S0FDeEIsQ0FBQztHQUNXLGdCQUFnQixDQW9DNUI7U0FwQ1ksZ0JBQWdCO0FBc0M3QixTQUFTLG1CQUFtQixDQUMxQixJQUFhLEVBQ2IsU0FBcUIsRUFDckIsUUFBa0IsRUFBRTtJQVdwQixJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFhO0tBQU0sQ0FBQTtJQUFuQixhQUFhO1FBVGxCLFFBQVEsQ0FBQztZQUNSLE9BQU8sRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDdkQsT0FBTyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0QsWUFBWSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckQsZUFBZSxFQUFFLFNBQVM7Z0JBQ3hCLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWU7WUFDekIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ3ZCLENBQUM7T0FDSSxhQUFhLENBQU07SUFDekIsT0FBTyxhQUF1QyxDQUFDO0FBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgRXh0cmFDb25maWdUb2tlbixcbiAgVGVzdE1vZHVsZVRva2VuLFxuICBUZXN0VHlwZUtpbmRUb2tlbixcbiAgVGVzdFR5cGVUb2tlbixcbn0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHtcbiAgVGVzdGluZ0NvbXBvbmVudE1vZHVsZUV4dHJhcyxcbiAgVGVzdGluZ0RpcmVjdGl2ZU1vZHVsZUV4dHJhcyxcbiAgVGVzdFR5cGVLaW5kLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IG1lcmdlQXJyYXlzIH0gZnJvbSAnLi91dGlsJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hUZXN0aW5nTW9kdWxlPFQgPSBhbnk+IHtcbiAgc3RhdGljIGZvckNvbXBvbmVudDxUPihcbiAgICBjb21wVHlwZTogVHlwZTxUPixcbiAgICBleHRyYXM6IFRlc3RpbmdDb21wb25lbnRNb2R1bGVFeHRyYXMgPSB7fSxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hUZXN0aW5nTW9kdWxlPFQ+PiB7XG4gICAgY29uc3QgdGVzdE1vZHVsZSA9IGdldFRlc3RpbmdNb2R1bGVGb3IoY29tcFR5cGUsIGNvbXBUeXBlLCBleHRyYXMubmdNb2R1bGUpO1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogdGVzdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFRlc3RNb2R1bGVUb2tlbiwgdXNlVmFsdWU6IHRlc3RNb2R1bGUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBUZXN0VHlwZVRva2VuLCB1c2VWYWx1ZTogY29tcFR5cGUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBUZXN0VHlwZUtpbmRUb2tlbiwgdXNlVmFsdWU6IFRlc3RUeXBlS2luZC5Db21wb25lbnQgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFeHRyYUNvbmZpZ1Rva2VuLCB1c2VWYWx1ZTogZXh0cmFzIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yRGlyZWN0aXZlPFQ+KFxuICAgIGRpclR5cGU6IFR5cGU8VD4sXG4gICAgZXh0cmFzOiBUZXN0aW5nRGlyZWN0aXZlTW9kdWxlRXh0cmFzID0ge30sXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4VGVzdGluZ01vZHVsZTxUPj4ge1xuICAgIGNvbnN0IHRlc3RNb2R1bGUgPSBnZXRUZXN0aW5nTW9kdWxlRm9yKFxuICAgICAgZGlyVHlwZSxcbiAgICAgIGV4dHJhcy5ob3N0Q29tcG9uZW50LFxuICAgICAgZXh0cmFzLm5nTW9kdWxlLFxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiB0ZXN0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogVGVzdE1vZHVsZVRva2VuLCB1c2VWYWx1ZTogdGVzdE1vZHVsZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IFRlc3RUeXBlVG9rZW4sIHVzZVZhbHVlOiBkaXJUeXBlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogVGVzdFR5cGVLaW5kVG9rZW4sIHVzZVZhbHVlOiBUZXN0VHlwZUtpbmQuRGlyZWN0aXZlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRXh0cmFDb25maWdUb2tlbiwgdXNlVmFsdWU6IGV4dHJhcyB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRlc3RpbmdNb2R1bGVGb3I8VD4oXG4gIHR5cGU6IFR5cGU8VD4sXG4gIGVudHJ5VHlwZT86IFR5cGU8YW55PixcbiAgZXh0cmE6IE5nTW9kdWxlID0ge30sXG4pIHtcbiAgQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBtZXJnZUFycmF5cyhleHRyYS5pbXBvcnRzLCBbTmd4VGVzdGluZ01vZHVsZV0pLFxuICAgIGV4cG9ydHM6IG1lcmdlQXJyYXlzKGV4dHJhLmV4cG9ydHMsIFtOZ3hUZXN0aW5nTW9kdWxlLCB0eXBlXSksXG4gICAgZGVjbGFyYXRpb25zOiBtZXJnZUFycmF5cyhleHRyYS5kZWNsYXJhdGlvbnMsIFt0eXBlXSksXG4gICAgZW50cnlDb21wb25lbnRzOiBlbnRyeVR5cGVcbiAgICAgID8gbWVyZ2VBcnJheXMoZXh0cmEuZW50cnlDb21wb25lbnRzLCBbZW50cnlUeXBlXSlcbiAgICAgIDogZXh0cmEuZW50cnlDb21wb25lbnRzLFxuICAgIHNjaGVtYXM6IGV4dHJhLnNjaGVtYXMsXG4gIH0pXG4gIGNsYXNzIFRlc3RpbmdNb2R1bGU8RD4ge31cbiAgcmV0dXJuIFRlc3RpbmdNb2R1bGUgYXMgVHlwZTxUZXN0aW5nTW9kdWxlPFQ+Pjtcbn1cbiJdfQ==