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";
17 import {PnfPopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/pnf/pnf.popup.service";
20 class MockAppStore<T> {
27 describe('Related Vnf member Model Info', () => {
29 let httpMock: HttpTestingController;
30 let _dynamicInputsService : DynamicInputsService;
31 let _sharedTreeService : SharedTreeService;
33 let _store : NgRedux<AppState>;
34 let relatedVnfMemeber: RelatedVnfMemberInfoModel;
36 TestBed.configureTestingModule({
37 imports: [HttpClientTestingModule, NgReduxTestingModule],
43 VfModuleUpgradePopupService,
46 DefaultDataGeneratorService,
50 }).compileComponents();
52 injector = getTestBed();
53 _sharedTreeService = injector.get(SharedTreeService);
54 _store = injector.get(NgRedux);
56 relatedVnfMemeber = new RelatedVnfMemberInfoModel(
58 _dynamicInputsService,
62 test('relatedVnfMemeber should be defined', () => {
63 expect(relatedVnfMemeber).toBeDefined();
66 test('RelatedVnfMemeber should defined extra details', () => {
67 expect(relatedVnfMemeber.name).toEqual('vnfs');
68 expect(relatedVnfMemeber.type).toEqual('relatedVnfMember');
71 test('isEcompGeneratedNaming should return true if isEcompGeneratedNaming is "true" ', () => {
72 let isEcompGeneratedNaming: boolean = relatedVnfMemeber.isEcompGeneratedNaming(<any>{
74 ecomp_generated_naming: 'true'
77 expect(isEcompGeneratedNaming).toBeTruthy();
80 test('isEcompGeneratedNaming should return false if isEcompGeneratedNaming is "false"', () => {
81 let isEcompGeneratedNaming: boolean = relatedVnfMemeber.isEcompGeneratedNaming({
83 ecomp_generated_naming: 'false'
86 expect(isEcompGeneratedNaming).toBeFalsy();
89 test('isEcompGeneratedNaming should return false if isEcompGeneratedNaming is not defined', () => {
90 let isEcompGeneratedNaming: boolean = relatedVnfMemeber.isEcompGeneratedNaming({
94 expect(isEcompGeneratedNaming).toBeFalsy();
98 test('getTooltip should return "VF"', () => {
99 let tooltip: string = relatedVnfMemeber.getTooltip();
100 expect(tooltip).toEqual('VF');
103 test('getType should return "VF"', () => {
104 let tooltip: string = relatedVnfMemeber.getType();
105 expect(tooltip).toEqual('VF');
108 test('getNextLevelObject should be null', () => {
109 let nextLevel = relatedVnfMemeber.getNextLevelObject();
110 expect(nextLevel).toBeNull();
113 test('getModel should return VNF model', () => {
114 expect(relatedVnfMemeber.getModel({})).toBeInstanceOf(VNFModel);
118 test('getMenuAction: delete', ()=>{
119 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"};
120 let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60";
121 let result = relatedVnfMemeber.getMenuAction(<any>node, serviceModelId);
122 spyOn(result['delete'], 'method');
123 expect(result['delete']).toBeDefined();
124 expect(result['delete'].visible).toBeTruthy();
125 expect(result['delete'].enable).toBeTruthy();
126 result['delete']['method'](node, serviceModelId);
127 expect(result['delete']['method']).toHaveBeenCalledWith(node, serviceModelId);
131 test('getMenuAction: undoDelete', ()=>{
132 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"};
133 let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60";
134 let result = relatedVnfMemeber.getMenuAction(<any>node, serviceModelId);
135 spyOn(result['undoDelete'], 'method');
136 expect(result['undoDelete']).toBeDefined();
137 expect(result['undoDelete'].visible).toBeDefined();
138 expect(result['undoDelete'].enable).toBeDefined();
139 result['undoDelete']['method'](node, serviceModelId);
140 expect(result['undoDelete']['method']).toHaveBeenCalledWith(node, serviceModelId);