1 import {ComponentInfoService} from "../../../component-info/component-info.service";
2 import {NgRedux} from "@angular-redux/store";
3 import {AppState} from "../../../../../shared/store/reducers";
4 import {getTestBed, TestBed} from "@angular/core/testing";
5 import {HttpClientTestingModule} from "@angular/common/http/testing";
6 import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing";
7 import {SharedTreeService} from "../../shared.tree.service";
8 import {ComponentInfoType} from "../../../component-info/component-info-model";
9 import {VpnModelInfo} from "./vpn.model.info";
10 import {VrfModel} from "../../../../../shared/models/vrfModel";
11 import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component";
12 import {Level1Instance} from "../../../../../shared/models/level1Instance";
13 import * as _ from "lodash";
14 import {VpnTreeNode} from "../../../../../shared/models/vpnTreeNode";
15 import {Level1Model} from "../../../../../shared/models/nodeModel";
17 describe('VPN Model Info', () => {
20 let _store : NgRedux<AppState>;
21 let _sharedTreeService: SharedTreeService;
22 let vpnModel: VpnModelInfo;
25 TestBed.configureTestingModule({
26 imports: [HttpClientTestingModule, NgReduxTestingModule],
31 }).compileComponents();
32 injector = getTestBed();
33 _sharedTreeService = injector.get(SharedTreeService);
34 _store = injector.get(NgRedux);
35 vpnModel = new VpnModelInfo(_store,_sharedTreeService);
39 test('vpnModel should be defined', () => {
40 expect(vpnModel).toBeDefined();
43 test('vpnModel should defined extra details', () => {
44 expect(vpnModel.name).toEqual('vpns');
45 expect(vpnModel.type).toEqual('VPN');
46 expect(vpnModel.childNames).toBeUndefined;
47 expect(vpnModel.componentInfoType).toEqual(ComponentInfoType.VPN);
50 test('Info for vpn should be correct', () => {
52 const instance = new VpnTreeNode(new Level1Instance(), new Level1Model(), "");
53 instance.region = "USA,EMEA";
54 instance.routeTargetId = "globalRouteTarget_1";
55 instance.routeTargetRole = "routeTargetRole_1";
56 instance.customerVPNId = "VPN1260";
57 let actualVpnInfo = vpnModel.getInfo(model,instance);
58 const instanceInfo = [
59 ModelInformationItem.createInstance("Region", "USA,EMEA"),
60 ModelInformationItem.createInstance("Route target id", "globalRouteTarget_1"),
61 ModelInformationItem.createInstance("Route target role", "routeTargetRole_1"),
62 ModelInformationItem.createInstance("Customet VPN ID", "VPN1260")];
63 expect(actualVpnInfo).toEqual(instanceInfo);