1 import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing";
2 import {getTestBed, TestBed} from "@angular/core/testing";
3 import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing";
4 import {DynamicInputsService} from "../../dynamicInputs.service";
5 import {VNFModel} from "../../../../../shared/models/vnfModel";
6 import {SharedTreeService} from "../../shared.tree.service";
7 import {NgRedux} from "@angular-redux/store";
8 import {AppState} from "../../../../../shared/store/reducers";
9 import {DefaultDataGeneratorService} from "../../../../../shared/services/defaultDataServiceGenerator/default.data.generator.service";
10 import {DialogService} from "ng2-bootstrap-modal";
11 import {VfModulePopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service";
12 import {VnfPopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service";
13 import {DuplicateService} from "../../../duplicate/duplicate.service";
14 import {IframeService} from "../../../../../shared/utils/iframe.service";
15 import {RelatedVnfMemberInfoModel} from "./relatedVnfMember.info.model";
16 import {VfModuleUpgradePopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service";
19 class MockAppStore<T> {
26 describe('Related Vnf member Model Info', () => {
28 let httpMock: HttpTestingController;
29 let _dynamicInputsService : DynamicInputsService;
30 let _sharedTreeService : SharedTreeService;
32 let _store : NgRedux<AppState>;
33 let relatedVnfMemeber: RelatedVnfMemberInfoModel;
35 TestBed.configureTestingModule({
36 imports: [HttpClientTestingModule, NgReduxTestingModule],
42 VfModuleUpgradePopupService,
44 DefaultDataGeneratorService,
48 }).compileComponents();
50 injector = getTestBed();
51 _sharedTreeService = injector.get(SharedTreeService);
52 _store = injector.get(NgRedux);
54 relatedVnfMemeber = new RelatedVnfMemberInfoModel(
56 _dynamicInputsService,
60 test('relatedVnfMemeber should be defined', () => {
61 expect(relatedVnfMemeber).toBeDefined();
64 test('RelatedVnfMemeber should defined extra details', () => {
65 expect(relatedVnfMemeber.name).toEqual('vnfs');
66 expect(relatedVnfMemeber.type).toEqual('relatedVnfMember');
69 test('isEcompGeneratedNaming should return true if isEcompGeneratedNaming is "true" ', () => {
70 let isEcompGeneratedNaming: boolean = relatedVnfMemeber.isEcompGeneratedNaming(<any>{
72 ecomp_generated_naming: 'true'
75 expect(isEcompGeneratedNaming).toBeTruthy();
78 test('isEcompGeneratedNaming should return false if isEcompGeneratedNaming is "false"', () => {
79 let isEcompGeneratedNaming: boolean = relatedVnfMemeber.isEcompGeneratedNaming({
81 ecomp_generated_naming: 'false'
84 expect(isEcompGeneratedNaming).toBeFalsy();
87 test('isEcompGeneratedNaming should return false if isEcompGeneratedNaming is not defined', () => {
88 let isEcompGeneratedNaming: boolean = relatedVnfMemeber.isEcompGeneratedNaming({
92 expect(isEcompGeneratedNaming).toBeFalsy();
96 test('getTooltip should return "VF"', () => {
97 let tooltip: string = relatedVnfMemeber.getTooltip();
98 expect(tooltip).toEqual('VF');
101 test('getType should return "VF"', () => {
102 let tooltip: string = relatedVnfMemeber.getType();
103 expect(tooltip).toEqual('VF');
106 test('getNextLevelObject should be null', () => {
107 let nextLevel = relatedVnfMemeber.getNextLevelObject();
108 expect(nextLevel).toBeNull();
111 test('getModel should return VNF model', () => {
112 expect(relatedVnfMemeber.getModel({})).toBeInstanceOf(VNFModel);
116 test('getMenuAction: delete', ()=>{
117 let node = {"modelId":"d6557200-ecf2-4641-8094-5393ae3aae60","missingData":true,"action":"None","inMaint":true,"name":"jlfBwIks283yKlCD8","modelName":"VF_vGeraldine 0","type":"VF","isEcompGeneratedNaming":true,"networkStoreKey":"VF_vGeraldine 0:004","vnfStoreKey":"VF_vGeraldine 0:004","typeName":"VNF"};
118 let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60";
119 let result = relatedVnfMemeber.getMenuAction(<any>node, serviceModelId);
120 spyOn(result['delete'], 'method');
121 expect(result['delete']).toBeDefined();
122 expect(result['delete'].visible).toBeTruthy();
123 expect(result['delete'].enable).toBeTruthy();
124 result['delete']['method'](node, serviceModelId);
125 expect(result['delete']['method']).toHaveBeenCalledWith(node, serviceModelId);
129 test('getMenuAction: undoDelete', ()=>{
130 let node = {"modelId":"d6557200-ecf2-4641-8094-5393ae3aae60","missingData":true,"action":"None","inMaint":true,"name":"jlfBwIks283yKlCD8","modelName":"VF_vGeraldine 0","type":"VF","isEcompGeneratedNaming":true,"networkStoreKey":"VF_vGeraldine 0:004","vnfStoreKey":"VF_vGeraldine 0:004","typeName":"VNF"};
131 let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60";
132 let result = relatedVnfMemeber.getMenuAction(<any>node, serviceModelId);
133 spyOn(result['undoDelete'], 'method');
134 expect(result['undoDelete']).toBeDefined();
135 expect(result['undoDelete'].visible).toBeDefined();
136 expect(result['undoDelete'].enable).toBeDefined();
137 result['undoDelete']['method'](node, serviceModelId);
138 expect(result['undoDelete']['method']).toHaveBeenCalledWith(node, serviceModelId);