1 import {RecreateResolver} from "./recreate.resolver";
2 import {getTestBed, TestBed} from '@angular/core/testing';
3 import {NgRedux} from "@angular-redux/store";
4 import {InstantiationTemplatesService} from "../../services/templateService/instantiationTemplates.service";
5 import {AaiService} from "../../services/aaiService/aai.service";
6 import {mock} from "ts-mockito";
7 import {ServiceInstance} from "../../models/serviceInstance";
8 import {HttpClientTestingModule} from "@angular/common/http/testing";
9 import {FeatureFlagsService} from "../../services/featureFlag/feature-flags.service";
10 import {convertToParamMap} from "@angular/router";
11 import {of} from 'rxjs/observable/of'
13 class MockAppStore<T> {
17 describe('Recreate resolver', () => {
20 let recreateResolver: RecreateResolver;
21 let aaiService: AaiService;
22 let instantiationTemplatesService: InstantiationTemplatesService;
24 beforeAll(done => (async () => {
25 TestBed.configureTestingModule({
26 imports: [HttpClientTestingModule],
29 InstantiationTemplatesService,
32 {provide: NgRedux, useClass: MockAppStore},
35 await TestBed.compileComponents();
37 injector = getTestBed();
38 recreateResolver = injector.get(RecreateResolver);
39 aaiService = injector.get(AaiService);
40 instantiationTemplatesService = injector.get(InstantiationTemplatesService);
41 })().then(done).catch(done.fail));
43 test("when resolve() invoked -> then getServiceModelById and retrieveAndStoreInstantiationTemplateTopology are called", done => {
44 jest.spyOn(aaiService, 'getServiceModelById')
45 .mockReturnValue(of({}));
46 jest.spyOn(instantiationTemplatesService, 'retrieveAndStoreInstantiationTemplateTopology')
47 .mockReturnValue(of(mock(ServiceInstance)));
49 recreateResolver.resolve(<any>{
52 serviceModelId: "someServiceModelId",
58 expect(aaiService.getServiceModelById)
59 .toHaveBeenCalledWith("someServiceModelId");
60 expect(instantiationTemplatesService.retrieveAndStoreInstantiationTemplateTopology)
61 .toHaveBeenCalledWith("someJobId", "someServiceModelId");