summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/resolvers/viewEdit/viewEdit.resolver.spec.ts
blob: 6e8fdc75715f97e6b481b54bbc825615ed5c1c28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import {getTestBed, TestBed} from '@angular/core/testing';
import {HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing';
import {NgRedux} from "@angular-redux/store";
import {ViewEditResolver} from "./viewEdit.resolver";
import {AaiService} from "../../services/aaiService/aai.service";
import {FeatureFlagsService} from "../../services/featureFlag/feature-flags.service";
import {ActivatedRouteSnapshot, convertToParamMap} from "@angular/router";
import {AppState} from "../../store/reducers";
import {UpdateDrawingBoardStatusAction} from "../../storeUtil/utils/global/global.actions";

class MockAppStore<T> {
  getState() {
    return {
      global:{
        drawingBoardStatus: "VIEW"
      },
      service: {
        serviceInstance: {}
      }
    }
  }
  dispatch(){

  }
}


describe('View Edit resolver', () => {
  let injector;
  let aaiService: AaiService;
  let resolver: ViewEditResolver;
  let httpMock: HttpTestingController;
  let store : NgRedux<AppState>;

  let activatedRouteSnapshot: ActivatedRouteSnapshot;
  let updateDrawingBoardStatusAction: UpdateDrawingBoardStatusAction;

  beforeAll(done => (async () => {
    TestBed.configureTestingModule({
      imports: [HttpClientTestingModule],
      providers: [
        ViewEditResolver,
        AaiService,
        FeatureFlagsService,
        {provide: NgRedux, useClass: MockAppStore},
        {
          provide: ActivatedRouteSnapshot, useValue: {
            queryParamMap:
              convertToParamMap({
                serviceModelId: 'serviceModelId',
                subscriberId: 'subscriberId',
                serviceType: 'serviceType',
                serviceInstanceId : 'serviceInstanceId'
              })
          },

        }
      ]
    });
    await TestBed.compileComponents();

    injector = getTestBed();
    aaiService = injector.get(AaiService);
    resolver = injector.get(ViewEditResolver);
    httpMock = injector.get(HttpTestingController);
    activatedRouteSnapshot = injector.get(ActivatedRouteSnapshot);
    store = injector.get(NgRedux)

  })().then(done).catch(done.fail));


  test('should call both api', () => {
    // spyOn(aaiService, 'getServiceModelById');
    // spyOn(aaiService, 'retrieveAndStoreServiceInstanceTopology');
    // spyOn(store, 'dispatch');
    // resolver.resolve(activatedRouteSnapshot);
    //
    // expect(aaiService.getServiceModelById).toHaveBeenCalledWith('serviceModelId');
    // expect(aaiService.retrieveAndStoreServiceInstanceTopology).toHaveBeenCalledWith('serviceInstanceId', 'subscriberId', 'serviceType', 'serviceModelId');
  });

});