merge from ecomp a88f0072 - Modern UI
[vid.git] / vid-webpack-master / src / app / shared / storeUtil / utils / relatedVnfMember / relatedVnfMember.reducers.spec.ts
1 import {relatedVnfMemeberReducer} from "./relatedVnfMember.reducers";
2 import {
3   CreateRelatedVnfMemeberInstanceAction,
4   DeleteActionRelatedVnfMemeberInstanceAction,
5   RelatedVnfActions,
6   UndoDeleteActionRelatedVnfMemeberInstanceAction
7 } from "./relatedVnfMember.actions";
8 import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
9
10
11 describe('relatedVnfMemberReducer', () => {
12
13   test('#DELETE_ACTION_RELATED_VNF_MEMBER_INSTANCE should change action to delete',() => {
14     const serviceUuid: string = 'serviceUuid';
15     const actionName: ServiceInstanceActions = ServiceInstanceActions.None;
16
17     let service = relatedVnfMemeberReducer(<any>{
18       serviceInstance: {
19         'serviceUuid': {
20           'vnfGroups' : {
21             'vnfGroupStoreKey' : {
22               'vnfs' : {
23                 'vnfStoreKey1' : {
24                   'action' : actionName
25                 }
26               }
27             }
28
29           }
30         }
31       }
32     }, <DeleteActionRelatedVnfMemeberInstanceAction>{
33       type: RelatedVnfActions.DELETE_ACTION_RELATED_VNF_MEMBER_INSTANCE,
34       vnfGroupStoreKey: 'vnfGroupStoreKey',
35       relatedVnfMemeberStoreKey : 'vnfStoreKey1',
36       serviceId : 'serviceUuid'
37     });
38
39     expect(service.serviceInstance[serviceUuid].vnfGroups['vnfGroupStoreKey']['vnfs']['vnfStoreKey1'].action).toEqual('None_Delete');
40   });
41
42   test('#UNDO_DELETE_ACTION_RELATED_VNF_MEMBER_INSTANCE should undo change action to delete', () => {
43     const serviceUuid: string = 'serviceUuid';
44     const actionName: ServiceInstanceActions = ServiceInstanceActions.None_Delete;
45
46     let service = relatedVnfMemeberReducer(<any>{
47       serviceInstance: {
48         'serviceUuid': {
49           'vnfGroups' : {
50             'vnfGroupStoreKey' : {
51               'vnfs' : {
52                 'vnfStoreKey1' : {
53                   'action' : actionName
54                 }
55               }
56             }
57
58           }
59         }
60       }
61     }, <UndoDeleteActionRelatedVnfMemeberInstanceAction>{
62       type: RelatedVnfActions.UNDO_DELETE_ACTION_RELATED_VNF_MEMBER_INSTANCE,
63       vnfGroupStoreKey: 'vnfGroupStoreKey',
64       relatedVnfMemeberStoreKey : 'vnfStoreKey1',
65       serviceId : 'serviceUuid'
66     });
67
68     expect(service.serviceInstance[serviceUuid].vnfGroups['vnfGroupStoreKey']['vnfs']['vnfStoreKey1'].action).toEqual('None');
69   });
70
71   test('#REMOVE_RELATED_VNF_MEMBER_INSTANCE should remove instance', () => {
72     const serviceUuid: string = 'serviceUuid';
73     const actionName: ServiceInstanceActions = ServiceInstanceActions.None_Delete;
74
75     let service = relatedVnfMemeberReducer(<any>{
76       serviceInstance: {
77         'serviceUuid': {
78           'vnfGroups' : {
79             'vnfGroupStoreKey' : {
80               'vnfs' : {
81                 'vnfStoreKey1' : {
82                   'action' : actionName
83                 }
84               }
85             }
86
87           }
88         }
89       }
90     }, <UndoDeleteActionRelatedVnfMemeberInstanceAction>{
91       type: RelatedVnfActions.UNDO_DELETE_ACTION_RELATED_VNF_MEMBER_INSTANCE,
92       vnfGroupStoreKey: 'vnfGroupStoreKey',
93       relatedVnfMemeberStoreKey : 'vnfStoreKey1',
94       serviceId : 'serviceUuid'
95     });
96
97     expect(service.serviceInstance[serviceUuid].vnfGroups['vnfGroupStoreKey']['vnfs']['vnfStoreKey1'].action).toEqual('None');
98   });
99
100   test('#CREATE_RELATED_VNF_MEMBER_INSTANCE should add new relatedVNF instance', () => {
101     const serviceUuid: string = 'serviceUuid';
102     const actionName: ServiceInstanceActions = ServiceInstanceActions.None_Delete;
103     let relatedVnfMember =  {
104       "instanceName":"VNF1_INSTANCE_NAME",
105       "instanceId":"VNF1_INSTANCE_ID",
106       "orchStatus":null,
107       "productFamilyId":null,
108       "lcpCloudRegionId":"mtn23b",
109       "tenantId":"3e9a20a3e89e45f884e09df0cc2d2d2a",
110       "tenantName":"APPC-24595-T-IST-02C",
111       "modelInfo":{
112         "modelInvariantId":"vnf-instance-model-invariant-id",
113         "modelVersionId":"7a6ee536-f052-46fa-aa7e-2fca9d674c44",
114         "modelVersion":"2.0",
115         "modelName":"vf_vEPDG",
116         "modelType":"vnf"
117       },
118       "instanceType":"VNF1_INSTANCE_TYPE",
119       "provStatus":null,
120       "inMaint":false,
121       "uuid":"7a6ee536-f052-46fa-aa7e-2fca9d674c44",
122       "originalName":null,
123       "legacyRegion":null,
124       "lineOfBusiness":null,
125       "platformName":null,
126       "trackById":"7a6ee536-f052-46fa-aa7e-2fca9d674c44:002",
127       "serviceInstanceId":"service-instance-id1",
128       "serviceInstanceName":"service-instance-name"
129     };
130
131     let service = relatedVnfMemeberReducer(<any>{
132       serviceInstance: {
133         'serviceUuid': {
134           'vnfGroups' : {
135             'vnfGroupStoreKey' : { }
136           }
137         }
138       }
139     }, <CreateRelatedVnfMemeberInstanceAction>{
140       type: RelatedVnfActions.CREATE_RELATED_VNF_MEMBER_INSTANCE,
141       relatedVnfMember: relatedVnfMember,
142       vnfGroupStoreKey: 'vnfGroupStoreKey',
143       serviceId: serviceUuid
144     });
145
146     expect(service.serviceInstance[serviceUuid].vnfGroups['vnfGroupStoreKey']['vnfs']['VNF1_INSTANCE_ID'].action).toEqual('Create');
147     expect(service.serviceInstance[serviceUuid].vnfGroups['vnfGroupStoreKey']['vnfs']['VNF1_INSTANCE_ID'].instanceId).toEqual('VNF1_INSTANCE_ID');
148   });
149
150 });
151
152
153