diff options
Diffstat (limited to 'vid-webpack-master/src/app/shared/resolvers/recreate/recreate.resolver.spec.ts')
-rw-r--r-- | vid-webpack-master/src/app/shared/resolvers/recreate/recreate.resolver.spec.ts | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/resolvers/recreate/recreate.resolver.spec.ts b/vid-webpack-master/src/app/shared/resolvers/recreate/recreate.resolver.spec.ts new file mode 100644 index 000000000..1a3a1ab3f --- /dev/null +++ b/vid-webpack-master/src/app/shared/resolvers/recreate/recreate.resolver.spec.ts @@ -0,0 +1,66 @@ +import {RecreateResolver} from "./recreate.resolver"; +import {getTestBed, TestBed} from '@angular/core/testing'; +import {NgRedux} from "@angular-redux/store"; +import {InstantiationTemplatesService} from "../../services/templateService/instantiationTemplates.service"; +import {AaiService} from "../../services/aaiService/aai.service"; +import {mock} from "ts-mockito"; +import {ServiceInstance} from "../../models/serviceInstance"; +import {HttpClientTestingModule} from "@angular/common/http/testing"; +import {FeatureFlagsService} from "../../services/featureFlag/feature-flags.service"; +import {convertToParamMap} from "@angular/router"; +import {of} from 'rxjs/observable/of' + +class MockAppStore<T> { + getState() {} +} + +describe('Recreate resolver', () => { + + let injector; + let recreateResolver: RecreateResolver; + let aaiService: AaiService; + let instantiationTemplatesService: InstantiationTemplatesService; + + beforeAll(done => (async () => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [ + FeatureFlagsService, + InstantiationTemplatesService, + RecreateResolver, + AaiService, + {provide: NgRedux, useClass: MockAppStore}, + ] + }); + await TestBed.compileComponents(); + + injector = getTestBed(); + recreateResolver = injector.get(RecreateResolver); + aaiService = injector.get(AaiService); + instantiationTemplatesService = injector.get(InstantiationTemplatesService); + })().then(done).catch(done.fail)); + + test("when resolve() invoked -> then getServiceModelById and retrieveAndStoreInstantiationTemplateTopology are called", done => { + jest.spyOn(aaiService, 'getServiceModelById') + .mockReturnValue(of({})); + jest.spyOn(instantiationTemplatesService, 'retrieveAndStoreInstantiationTemplateTopology') + .mockReturnValue(of(mock(ServiceInstance))); + + recreateResolver.resolve(<any>{ + queryParamMap: + convertToParamMap({ + serviceModelId: "someServiceModelId", + jobId: "someJobId", + }) + }) + + .subscribe(() => { + expect(aaiService.getServiceModelById) + .toHaveBeenCalledWith("someServiceModelId"); + expect(instantiationTemplatesService.retrieveAndStoreInstantiationTemplateTopology) + .toHaveBeenCalledWith("someJobId", "someServiceModelId"); + done(); + }); + }) + +}); |