1 import {ComponentInfoType} from "../../../component-info/component-info-model";
2 import {NcfModelInfo} from "./ncf.model.info";
3 import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component";
4 import {NcfTreeNode} from "../../../../../shared/models/ncfTreeNode";
6 describe('NCF Model Info', () => {
8 let ncfModel: NcfModelInfo;
11 ncfModel = new NcfModelInfo(null);
14 test('ncfModel should be defined', () => {
15 expect(ncfModel).toBeDefined();
18 test('ncfModel should defined extra details', () => {
19 expect(ncfModel.name).toEqual('ncfs');
20 expect(ncfModel.type).toEqual('NCF');
21 expect(ncfModel.childNames).toBeUndefined;
22 expect(ncfModel.componentInfoType).toEqual(ComponentInfoType.NCF);
25 test('createInstanceTreeNode shall create the right ncfTreeNode', () => {
28 instanceName: "NcmVlanSvcYm161f_77_vTSBC Customer Landing Network Collection",
29 instanceId: "6b3536cf-3a12-457f-abb5-fa2203e0d923",
30 instanceType: "L3-NETWORK",
32 uuid: "dd182d7d-6949-4b90-b3cc-5befe400742e",
33 originalName: "ncm_vlan_ym161f..NetworkCollection..0",
34 trackById: "6b3536cf-3a12-457f-abb5-fa2203e0d923",
35 instanceGroupRole: "SUB_INTERFACE",
36 instanceGroupFunction: "vTSBC Customer Landing Network Collection",
42 "ncm_vlan_ym161f..NetworkCollection..0": {
43 uuid: "dd182d7d-6949-4b90-b3cc-5befe400742e",
44 invariantUuid: "868b109c-9481-4a18-891b-af974db7705a",
45 name: "ncm_vlan_ym161f..NetworkCollection..0",
47 networkCollectionProperties: {
48 networkCollectionFunction: "vTSBC Customer Landing Network Collection",
49 networkCollectionDescription: "vTSBC Customer Landing Network Collection Desc"
57 id: "6b3536cf-3a12-457f-abb5-fa2203e0d923",
59 instanceGroupFunction: "vTSBC Customer Landing Network Collection",
60 instanceGroupRole: "SUB_INTERFACE",
61 instanceId: "6b3536cf-3a12-457f-abb5-fa2203e0d923",
62 instanceName: "NcmVlanSvcYm161f_77_vTSBC Customer Landing Network Collection",
63 instanceType: "L3-NETWORK",
66 name: "NcmVlanSvcYm161f_77_vTSBC Customer Landing Network Collection",
68 storeKey: "6b3536cf-3a12-457f-abb5-fa2203e0d923",
72 const ncfTreeNode: NcfTreeNode = ncfModel.createInstanceTreeNode(instance, {}, parentModel, "6b3536cf-3a12-457f-abb5-fa2203e0d923", "dd182d7d-6949-4b90-b3cc-5befe400742e");
73 expect(ncfTreeNode).toMatchObject(expected);
76 test('get modelInformation shall return Model version, role, Collection function, Number of networks', () => {
78 trackById: "6b3536cf-3a12-457f-abb5-fa2203e0d923",
79 instanceGroupRole: "SUB_INTERFACE",
80 instanceGroupFunction: "vTSBC Customer Landing Network Collection",
85 const actualModelInformationItems = ncfModel.getInfo(null, ncf);
87 ModelInformationItem.createInstance('Model version', '35'),
88 ModelInformationItem.createInstance('Role', 'SUB_INTERFACE'),
89 ModelInformationItem.createInstance('Collection function', 'vTSBC Customer Landing Network Collection'),
90 ModelInformationItem.createInstance('Number of networks', 1),
93 expect(actualModelInformationItems).toEqual(expected);
96 test('get modelInformation shall return empty array when ncf instance is null', () => {
97 expect(ncfModel.getInfo(null, null)).toEqual([]);
100 test('ncf getMenuAction: delete', ()=>{
102 let serviceModelId = 'serviceModelId';
103 let result = ncfModel.getMenuAction(<any>node, serviceModelId);
104 spyOn(result['delete'], 'method');
105 expect(result['delete']).toBeDefined();
106 expect(result['delete'].visible()).toBeFalsy();
107 expect(result['delete'].enable()).toBeFalsy();
108 result['delete']['method'](node, serviceModelId);
109 expect(result['delete']['method']).toHaveBeenCalledWith(node, serviceModelId);