From 6f900cc45d7dd7f97430812b86b5c1d1693c8ae3 Mon Sep 17 00:00:00 2001 From: Ittay Stern Date: Wed, 29 Aug 2018 17:01:32 +0300 Subject: merge from ecomp a88f0072 - Modern UI Issue-ID: VID-378 Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6 Signed-off-by: Ittay Stern --- .../drawing-board-tree.service.spec.ts | 147 +++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.spec.ts (limited to 'vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.spec.ts') diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.spec.ts new file mode 100644 index 000000000..1b913cfe9 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.spec.ts @@ -0,0 +1,147 @@ +import {TestBed, getTestBed} from '@angular/core/testing'; +import { + HttpClientTestingModule, + HttpTestingController +} from '@angular/common/http/testing'; +import {NgRedux} from "@angular-redux/store"; +import {DrawingBoardTreeService, TreeNodeContextMenuModel} from "./drawing-board-tree.service"; +import {ITreeNode} from "angular-tree-component/dist/defs/api"; + + class MockAppStore{ + getState() { + return { + service : { + serviceInstance : { + "serviceInstanceId" : { + vnfs : { + "vnfStoreKey" : { + isMissingData : true, + vfModules : { + "vfModulesName" : { + "vfModulesName" : { + isMissingData : true + } + } + } + }, + + "vnfStoreKey1" : { + isMissingData : false, + vfModules : { + "vfModulesName" : { + "vfModulesName" : { + isMissingData : false + } + } + } + } + } + } + } + } + } + } +} + +describe('Drawing board tree Service', () => { + let injector; + let service: DrawingBoardTreeService; + let httpMock: HttpTestingController; + + + beforeAll(done => (async () => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [ + DrawingBoardTreeService, + {provide: NgRedux, useClass: MockAppStore}] + }); + await TestBed.compileComponents(); + + injector = getTestBed(); + service = injector.get(DrawingBoardTreeService); + httpMock = injector.get(HttpTestingController); + + })().then(done).catch(done.fail)); + + + + + test('generateContextMenuOptions should return list of optional context menu', () => { + const options : TreeNodeContextMenuModel[] = service.generateContextMenuOptions(); + const expected : TreeNodeContextMenuModel[] = [ + new TreeNodeContextMenuModel('edit', 'context-menu-edit', 'Edit', 'edit-file-o'), + new TreeNodeContextMenuModel('duplicate', 'context-menu-duplicate', 'Duplicate', 'copy-o'), + new TreeNodeContextMenuModel('showAuditInfo', 'context-menu-showAuditInfo', 'Show audit info', 'eye-o'), + new TreeNodeContextMenuModel('addGroupMember', 'context-menu-addGroupMember', 'Add group members', 'plus'), + new TreeNodeContextMenuModel('delete', 'context-menu-delete', 'Delete', 'trash-o'), + new TreeNodeContextMenuModel('remove', 'context-menu-remove', 'Remove', 'trash-o'), + new TreeNodeContextMenuModel('undoDelete', 'context-menu-undoDelete', 'Undo Delete', 'undo-delete') + ]; + expect(options.length).toEqual(7); + expect(options).toEqual(expected); + }); + + test('isVNFMissingData should return true if vnf isMissingData = true', () => { + let node : ITreeNode = { + data : { + type : 'VF', + vnfStoreKey : "vnfStoreKey" + } + }; + let result : boolean = service.isVNFMissingData(node, "serviceInstanceId"); + expect(result).toBeTruthy(); + }); + + + test('isVNFMissingData should return false if vnf has isMissingData = false', () => { + let node : ITreeNode = { + data : { + type : 'VFModule', + modelName : "vfModulesName", + dynamicModelName : "vfModulesName", + parent : { + vnfStoreKey : "vnfStoreKey1", + type : 'VF' + } + } + }; + let result : boolean = service.isVNFMissingData(node, "serviceInstanceId"); + expect(result).toBeFalsy(); + }); + + + test('isVFModuleMissingData should return true if vnfModule has isMissingData = true', () => { + let node : ITreeNode = { + data : { + type : 'VFModule', + modelName : "vfModulesName", + dynamicModelName : "vfModulesName", + parent : { + vnfStoreKey : "vnfStoreKey", + type : 'VF' + } + } + }; + let result : boolean = service.isVFModuleMissingData(node, "serviceInstanceId"); + expect(result).toBeFalsy(); + }); + + + test('isVFModuleMissingData should return false if vnfModule has isMissingData = false', () => { + let node : ITreeNode = { + data : { + type : 'VFModule', + modelName : "vfModulesName", + dynamicModelName : "vfModulesName", + parent : { + vnfStoreKey : "vnfStoreKey1", + type : 'VF' + } + } + }; + let result : boolean = service.isVFModuleMissingData(node, "serviceInstanceId"); + expect(result).toBeFalsy(); + }); + +}); -- cgit 1.2.3-korg