@apteco/ngth
Version:
ng-bullet successor to help speed up angular testing
1 lines • 6.85 kB
Source Map (JSON)
{"version":3,"file":"apteco-ngth.mjs","sources":["../../../projects/ngth/src/lib/ng-test-helper.ts","../../../projects/ngth/src/lib/component-fixture-wrapper.ts","../../../projects/ngth/src/public-api.ts","../../../projects/ngth/src/apteco-ngth.ts"],"sourcesContent":["import {\n ComponentFixture,\n getTestBed,\n TestBed,\n TestModuleMetadata,\n} from '@angular/core/testing';\n\nconst resetProviders = (moduleDef?: TestModuleMetadata) => {\n if (!moduleDef) {\n return;\n }\n if (!moduleDef.providers) {\n return;\n }\n\n moduleDef.providers.forEach((provider) => {\n if (!provider || !provider.useValue) {\n return;\n }\n const instance = provider.useValue;\n if (instance && instance.resetProvider) {\n instance.resetProvider();\n }\n Object.keys(instance).forEach((property) => {\n if (\n instance[property] &&\n instance[property].calls &&\n instance[property].calls.reset\n ) {\n instance[property].calls.reset();\n }\n });\n });\n};\n\nconst cleanUpStyles = () => {\n const head: HTMLHeadElement = document.getElementsByTagName('head')[0];\n const styles:\n | HTMLCollectionOf<HTMLStyleElement>\n | [] = head.getElementsByTagName('style');\n for (let i = 0; i < styles.length; i++) {\n head.removeChild(styles[i]);\n }\n};\n\nexport const configureSuite = (configure?: () => void) => {\n const testBed: TestBed = getTestBed();\n const originalResetTestModule = TestBed.resetTestingModule;\n const originalConfigureTestingModule = TestBed.configureTestingModule;\n let moduleMetadata: TestModuleMetadata | undefined;\n\n beforeAll(() => {\n TestBed.resetTestingModule();\n TestBed.resetTestingModule = () => TestBed;\n TestBed.configureTestingModule = (moduleDef: TestModuleMetadata) => {\n moduleMetadata = moduleDef;\n return originalConfigureTestingModule(moduleMetadata);\n };\n });\n\n if (configure) {\n beforeAll((done: DoneFn) =>\n (async () => {\n configure();\n await TestBed.compileComponents();\n })()\n .then(done)\n .catch(done.fail)\n );\n }\n\n afterEach(() => {\n testBed['_activeFixtures'].forEach((fixture: ComponentFixture<any>) => {\n fixture.destroy();\n });\n testBed['_instantiated'] = false;\n testBed['_testModuleRef'] = null;\n resetProviders(moduleMetadata);\n });\n\n afterAll(() => {\n cleanUpStyles();\n TestBed.resetTestingModule = originalResetTestModule;\n TestBed.resetTestingModule();\n TestBed.configureTestingModule = originalConfigureTestingModule;\n });\n};\n","import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';\nimport { DebugElement, Type } from '@angular/core';\n\nexport class ComponentFixtureWrapper<T> {\n constructor(public fixture: ComponentFixture<T>) {}\n\n public get component(): T {\n return this.fixture.componentInstance;\n }\n\n public get debugElement(): DebugElement {\n return this.fixture.debugElement;\n }\n\n public get element(): HTMLElement {\n return this.debugElement.nativeElement;\n }\n\n public detectChanges() {\n this.fixture.detectChanges();\n }\n}\n\nexport const createComponent = <T>(component: Type<T>) => {\n return new ComponentFixtureWrapper<T>(TestBed.createComponent<T>(component));\n};\n\nexport const createStableComponent = async <T>(component: Type<T>) => {\n const fixtureWrapper = createComponent(component);\n fixtureWrapper.detectChanges();\n await fixtureWrapper.fixture.whenStable();\n fixtureWrapper.detectChanges();\n return fixtureWrapper;\n};\n","/*\n * Public API Surface of ngth\n */\nexport * from './lib/ng-test-helper';\nexport * from './lib/component-fixture-wrapper';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}