Merge from ecomp 718fd196 - Modern UI
[vid.git] / vid-webpack-master / src / app / drawingBoard / service-planning / objectsToTree / models / vpn / vpn.model.info.spec.ts
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";
16
17 describe('VPN Model Info', () => {
18
19   let injector;
20   let _store : NgRedux<AppState>;
21   let _sharedTreeService: SharedTreeService;
22   let vpnModel: VpnModelInfo;
23
24   beforeEach(() => {
25     TestBed.configureTestingModule({
26       imports: [HttpClientTestingModule, NgReduxTestingModule],
27       providers: [
28         SharedTreeService,
29         MockNgRedux
30        ]
31     }).compileComponents();
32     injector = getTestBed();
33     _sharedTreeService = injector.get(SharedTreeService);
34     _store = injector.get(NgRedux);
35     vpnModel = new VpnModelInfo(_store,_sharedTreeService);
36   });
37
38
39   test('vpnModel should be defined', () => {
40     expect(vpnModel).toBeDefined();
41   });
42
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);
48   });
49
50   test('Info for vpn should be correct', () => {
51     const model = null;
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);
64   });
65
66 })