2 CreateVFModuleInstanceAction,
3 DeleteActionVfModuleInstanceAction,
4 DeleteVfModuleInstanceAction, UndoDeleteActionVfModuleInstanceAction, UpdateVFModluePosition,
6 } from "./vfModule.actions";
7 import {vfModuleReducer} from "./vfModule.reducers";
8 import {VfModuleInstance} from "../../../models/vfModuleInstance";
9 import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
12 describe('vfModuleReducer', () => {
13 test('#REMOVE_VNF_MODULE_INSTANCE : should delete existing vnf module by dynamicModelName', () => {
14 let state = vfModuleReducer(<any>{serviceInstance : {
20 'dynamicModelName1': {},
21 'dynamicModelName2': {},
28 <DeleteVfModuleInstanceAction>{
29 type: VfModuleActions.REMOVE_VNF_MODULE_INSTANCE,
30 modelName : 'modelName',
32 vnfStoreKey : 'vfName',
33 serviceModelId : 'serviceModelId',
34 dynamicModelName: 'dynamicModelName1'
37 expect(state).toBeDefined();
38 expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']['dynamicModelName2']).toBeDefined();
39 expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']['dynamicModelName1']).not.toBeDefined();
42 test('#DELETE_LAST_VNF_MODULE_INSTANCE : should delete existing vnf module', () => {
43 let state = vfModuleReducer(<any>{serviceInstance : {
57 <DeleteVfModuleInstanceAction>{
58 type: VfModuleActions.REMOVE_VNF_MODULE_INSTANCE,
59 modelName : 'modelName',
61 vnfStoreKey : 'vfName',
62 serviceModelId : 'serviceModelId',
63 dynamicModelName: 'dynamicModelName'
66 expect(state).toBeDefined();
67 expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']).not.toBeDefined();
70 test('#CREATE_VF_MODULE: should create new vfModule to existing VNF', ()=>{
71 let vfModuleInstance : VfModuleInstance = new VfModuleInstance();
72 vfModuleInstance.instanceName = 'instanceName';
73 vfModuleInstance.isMissingData = false;
74 vfModuleInstance.volumeGroupName = 'volumeGroupName';
75 let vfModule = vfModuleReducer(<any>{serviceInstance : {
85 <CreateVFModuleInstanceAction>{
86 type: VfModuleActions.CREATE_VF_MODULE,
88 vfInstance : new VfModuleInstance(),
89 vnfStoreKey : 'vnfStoreKey',
90 serviceUuid : 'serviceUuid',
92 }).serviceInstance['serviceUuid'].vnfs['vnfStoreKey'].vfModules;
94 let firstVfModuleName = Object.keys(vfModule)[0];
95 expect(vfModule[firstVfModuleName]).toBeDefined();
96 expect(vfModule[firstVfModuleName].isMissingData).toBeFalsy();
99 test('#UPDATE_VF_MODULE: should update existing VFModule', ()=>{
100 let vfModuleInstance : VfModuleInstance = new VfModuleInstance();
101 vfModuleInstance.instanceName = 'instanceName';
102 vfModuleInstance.isMissingData = false;
103 vfModuleInstance.volumeGroupName = 'volumeGroupName';
104 let vfModule = vfModuleReducer(<any>{
106 'serviceModelId' : {}
114 'dynamicModelName1': {
117 'dynamicModelName2': {},
124 <CreateVFModuleInstanceAction>{
125 type: VfModuleActions.UPDATE_VF_MODULE,
127 vfInstance : new VfModuleInstance(),
128 vnfStoreKey : 'vfName',
129 dynamicModelName : 'dynamicModelName1',
130 serviceUuid : 'serviceModelId',
132 }).serviceInstance['serviceModelId'].vnfs['vfName'].vfModules;
134 let firstVfModuleName = Object.keys(vfModule)[0];
135 expect(vfModule[firstVfModuleName]).toBeDefined();
136 expect(vfModule[firstVfModuleName].isMissingData).toBeFalsy();
140 test('#UPDATE_VFMODULE_POSITION: should update position', ()=>{
141 let vfModule = vfModuleReducer(<any>{
143 'serviceModelId' : {}
151 'dynamicModelName': {
160 <UpdateVFModluePosition>{
161 type: VfModuleActions.UPDATE_VFMODULE_POSITION,
164 dynamicModelName : "dynamicModelName",
165 modelName : "modelName"
167 instanceId : "serviceModelId",
168 vnfStoreKey : "vfName"
170 }).serviceInstance['serviceModelId'].vnfs['vfName'].vfModules["modelName"]["dynamicModelName"];
172 expect(vfModule.position).toEqual(1);
176 test('#DELETE_ACTION_VF_MODULE_INSTANCE', ()=>{
177 let vfModule = vfModuleReducer(<any>{
179 'serviceModelId' : {}
187 'dynamicModelName1': {
188 isMissingData : true,
191 'dynamicModelName2': {},
198 <DeleteActionVfModuleInstanceAction>{
199 type: VfModuleActions.DELETE_ACTION_VF_MODULE_INSTANCE,
200 dynamicModelName: 'dynamicModelName1',
201 vnfStoreKey : 'vnfStoreKey',
202 serviceId: 'serviceModelId'
203 }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
205 console.log(vfModule.action);
206 expect(vfModule).toBeDefined();
207 expect(vfModule.isMissingData).toBeTruthy();
208 expect(vfModule.action).toEqual(ServiceInstanceActions.None_Delete);
211 test('#UNDO_DELETE_ACTION_VF_MODULE_INSTANCE', ()=>{
212 let vfModule = vfModuleReducer(<any>{
214 'serviceModelId' : {}
222 'dynamicModelName1': {
223 isMissingData : true,
224 action : 'None_Delete'
226 'dynamicModelName2': {},
233 <UndoDeleteActionVfModuleInstanceAction>{
234 type: VfModuleActions.UNDO_DELETE_ACTION_VF_MODULE_INSTANCE,
235 dynamicModelName: 'dynamicModelName1',
236 vnfStoreKey : 'vnfStoreKey',
237 serviceId: 'serviceModelId'
238 }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
240 console.log(vfModule.action);
241 expect(vfModule).toBeDefined();
242 expect(vfModule.action).toEqual(ServiceInstanceActions.None);