3241f11d97a7ad8e17a8dcbc10d93313d35a0a5e
[vid.git] / vid-webpack-master / src / app / shared / storeUtil / utils / vnf / vnf.reducers.spec.ts
1 import {VnfInstance} from "../../../models/vnfInstance";
2 import {
3   CreateVnfInstanceAction,
4   DeleteActionVnfInstanceAction, RemoveVnfInstanceAction,
5   UndoDeleteActionVnfInstanceAction, UpdateVnfPosition,
6   VNFActions
7 } from "./vnf.actions";
8 import {vnfReducer} from "./vnf.reducers";
9 import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
10
11 describe('networkReducer', () => {
12   test('#UPDATE_VNF_POSITION', () => {
13     let vnfInstance: VnfInstance = new VnfInstance();
14     vnfInstance.isMissingData = false;
15     vnfInstance.instanceName = 'instanceName';
16     let vnfState = vnfReducer(<any>{
17       serviceInstance : {
18           'serviceModelId' : {
19             vnfs : {
20               "vnfStoreKey" : {
21
22               }
23             }
24           }
25         }},
26       <UpdateVnfPosition>{
27         type: VNFActions.UPDATE_VNF_POSITION,
28         node : <any>{
29           position : 1
30         },
31         vnfStoreKey : 'vnfStoreKey',
32         instanceId : 'serviceModelId'
33       }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'];
34
35     expect(vnfState).toBeDefined();
36     expect(vnfState.position).toEqual(1);
37   });
38
39   test('#CREATE_NETWORK_INSTANCE', () => {
40     let vnfInstance: VnfInstance = new VnfInstance();
41     vnfInstance.isMissingData = false;
42     vnfInstance.instanceName = 'instanceName';
43     let vnfState = vnfReducer(<any>{serviceInstance : {
44           'serviceModelId' : {
45             vnfs : {
46
47             }
48           }
49         }},
50       <CreateVnfInstanceAction>{
51         type: VNFActions.CREATE_VNF_INSTANCE,
52         vnfInstance : vnfInstance,
53         vnfStoreKey : null,
54         vnfModelName : 'vnfModelName',
55         serviceUuid : 'serviceModelId'
56       }).serviceInstance['serviceModelId'].vnfs['vnfModelName'];
57
58     expect(vnfState).toBeDefined();
59     expect(vnfState.isMissingData).toBeFalsy();
60   });
61
62   test('#DELETE_ACTION_VNF_INSTANCE', () => {
63     let vnfState = vnfReducer(<any>{serviceInstance : {
64           'serviceModelId' : {
65             vnfs : {
66               'vnfStoreKey' : {
67                 isMissingData : true,
68                 action : 'None'
69               }
70             }
71           }
72         }},
73       <DeleteActionVnfInstanceAction>{
74         type: VNFActions.DELETE_ACTION_VNF_INSTANCE,
75         vnfStoreKey: 'vnfStoreKey',
76         serviceId: 'serviceModelId'
77       }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'];
78
79     expect(vnfState).toBeDefined();
80     expect(vnfState.action).toEqual(ServiceInstanceActions.None_Delete);
81   });
82
83   test('#UNDO_DELETE_ACTION_VNF_INSTANCE', () => {
84     let vnfState = vnfReducer(<any>{serviceInstance : {
85           'serviceModelId' : {
86             vnfs : {
87               'vnfStoreKey' : {
88                 isMissingData : true,
89                 action : 'Update_Delete'
90               }
91             }
92           }
93         }},
94       <UndoDeleteActionVnfInstanceAction>{
95         type: VNFActions.UNDO_DELETE_ACTION_VNF_INSTANCE,
96         vnfStoreKey: 'vnfStoreKey',
97         serviceId: 'serviceModelId'
98       }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'];
99
100     expect(vnfState).toBeDefined();
101     expect(vnfState.action).toEqual(ServiceInstanceActions.Update);
102   });
103
104   test('#REMOVE_VNF_INSTANCE', () => {
105     let vnfs = vnfReducer(<any>{serviceInstance : {
106           'serviceModelId' : {
107             vnfs : {
108               'vnfStoreKey' : {
109                 isMissingData : true,
110                 action : 'Update_Delete'
111               },
112               'vnfStoreKey_1' : {
113                 isMissingData : true,
114                 action : 'Update_Delete'
115               }
116             }
117           }
118         }},
119       <RemoveVnfInstanceAction>{
120         type: VNFActions.REMOVE_VNF_INSTANCE,
121         vnfStoreKey: 'vnfStoreKey',
122         serviceId: 'serviceModelId'
123       }).serviceInstance['serviceModelId'].vnfs;
124
125     expect(vnfs).toBeDefined();
126     expect(vnfs['vnfStoreKey']).toBeUndefined();
127   });
128
129 });
130
131
132