Merge from ecomp 718fd196 - Modern UI
[vid.git] / vid-webpack-master / src / app / shared / storeUtil / utils / vrf / vrf.reducer.spec.ts
1 import {vrfReducer} from "./vrf.reducer";
2 import {
3   AssociateVRFMemberInstanceAction,
4   ClearAssociateVRFMemberInstanceAction,
5   CreateVRFInstanceAction, DeleteActionVrfInstanceAction, UndoDeleteActionVrfInstanceAction,
6   VrfActions
7 } from "./vrf.actions";
8 import {vnfReducer} from "../vnf/vnf.reducers";
9 import {DeleteActionVnfInstanceAction, UndoDeleteActionVnfInstanceAction, VNFActions} from "../vnf/vnf.actions";
10 import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
11
12
13 describe('vrfReducer', () => {
14   test('#VRF_ASSOCIATE_MEMBER ', () => {
15
16     const serviceModelId: string = 'serviceModelID';
17     const vrfStoreKey : string = 'vrfStoreKey';
18     const memberType : string = 'networks';
19     const member = {a : 1 , b : 2};
20     let vrfState = vrfReducer(<any>{
21          serviceInstance : {
22           [serviceModelId] : {
23             vrfs : {
24               [vrfStoreKey] : {
25                 [memberType] : {
26
27                 }
28               }
29
30             }
31           }
32         }},
33       <AssociateVRFMemberInstanceAction>{
34         type: VrfActions.VRF_ASSOCIATE_MEMBER,
35         vrfStoreKey : vrfStoreKey,
36         serviceModelId : serviceModelId,
37         memberType : memberType,
38         member : member
39       });
40
41     expect(vrfState).toBeDefined();
42     expect(vrfState.serviceInstance[serviceModelId].vrfs[vrfStoreKey][memberType][`${vrfStoreKey} ${memberType} 1`]).toBeDefined();
43     expect(vrfState.serviceInstance[serviceModelId].vrfs[vrfStoreKey][memberType][`${vrfStoreKey} ${memberType} 1`]).toEqual(member);
44   });
45
46   test('#CLAER_ASSOCIATE__VRF_MEMBERS ', () => {
47
48     const serviceModelId: string = 'serviceModelID';
49     const vrfStoreKey : string = 'vrfStoreKey';
50     const memberType : string = 'networks';
51     let vrfState = vrfReducer(<any>{
52         serviceInstance : {
53           [serviceModelId] : {
54             vrfs : {
55               [vrfStoreKey] : {
56                 [memberType] : {
57                   a : 1,
58                   b : 2
59                 }
60               }
61
62             }
63           }
64         }},
65       <ClearAssociateVRFMemberInstanceAction>{
66         type: VrfActions.CLAER_ASSOCIATE__VRF_MEMBERS,
67         vrfStoreKey : vrfStoreKey,
68         serviceModelId : serviceModelId,
69         memberType : memberType
70       }).serviceInstance[serviceModelId].vrfs[vrfStoreKey];
71
72     expect(vrfState).toBeDefined();
73     expect(vrfState[memberType]).toBeDefined();
74     expect(vrfState[memberType]).toEqual({});
75   });
76
77   test('#CREATE_VRF_INSTANCE ', () => {
78
79     const serviceModelId: string = 'serviceModelID';
80     const vrfStoreKey : string = 'vrfStoreKey';
81     const vrfModelName : string = 'vrfModelName';
82     const memberType : string = 'networks';
83     let vrfState = vrfReducer(<any>{
84          serviceInstance : {
85           [serviceModelId] : {
86             vrfs : {
87               [vrfStoreKey] : {
88                 [memberType] : {
89
90                 }
91               }
92
93             }
94           }
95         }},
96       <CreateVRFInstanceAction>{
97         type: VrfActions.CREATE_VRF_INSTANCE,
98         vrfModel : {
99           name : vrfModelName
100         },
101         serviceModelId : serviceModelId,
102         vrfStoreKey : vrfStoreKey
103       }).serviceInstance[serviceModelId].vrfs;
104
105     expect(vrfState).toBeDefined();
106     expect(vrfState[vrfModelName]).toBeDefined();
107   });
108
109   test('#DELETE_ACTION_VRF_INSTANCE', () => {
110     let vnfState = vrfReducer(<any>{serviceInstance : {
111           'serviceModelId' : {
112             vrfs : {
113               'vrfStoreKey' : {
114                 isMissingData : true,
115                 action : 'None'
116               }
117             }
118           }
119         }},
120       <DeleteActionVrfInstanceAction>{
121         type: VrfActions.DELETE_ACTION_VRF_INSTANCE,
122         vrfStoreKey: 'vrfStoreKey',
123         serviceId: 'serviceModelId'
124       }).serviceInstance['serviceModelId'].vrfs['vrfStoreKey'];
125
126     expect(vnfState).toBeDefined();
127     expect(vnfState.action).toEqual(ServiceInstanceActions.None_Delete);
128   });
129
130   test('#UNDO_DELETE_ACTION_VRF_INSTANCE', () => {
131     let vnfState = vrfReducer(<any>{serviceInstance : {
132           'serviceModelId' : {
133             vrfs : {
134               'vrfStoreKey' : {
135                 isMissingData : true,
136                 action : 'Update_Delete'
137               }
138             }
139           }
140         }},
141       <UndoDeleteActionVrfInstanceAction>{
142         type: VrfActions.UNDO_DELETE_ACTION_VRF_INSTANCE,
143         vrfStoreKey: 'vrfStoreKey',
144         serviceId: 'serviceModelId'
145       }).serviceInstance['serviceModelId'].vrfs['vrfStoreKey'];
146
147     expect(vnfState).toBeDefined();
148     expect(vnfState.action).toEqual(ServiceInstanceActions.Update);
149   });
150 });
151
152