merge from ecomp a88f0072 - Modern UI
[vid.git] / vid-webpack-master / src / app / shared / storeUtil / utils / network / network.reducers.spec.ts
1 import {networkReducer} from "./network.reducers";
2 import {
3   CreateNetworkInstanceAction, DeleteActionNetworkInstanceAction,
4   NetworkActions, UndoDeleteActionNetworkInstanceAction,
5   UpdateNetworkCollectionFunction,
6   UpdateNetworkInstanceAction
7 } from "./network.actions";
8 import {NetworkInstance} from "../../../models/networkInstance";
9 import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
10
11
12 describe('networkReducer', () => {
13   test('#CREATE_SERVICE_INSTANCE', () => {
14     let networkInstance: NetworkInstance = new NetworkInstance();
15     networkInstance.isMissingData = false;
16     networkInstance.instanceName = 'instanceName';
17     let networkState = networkReducer(<any>{serviceInstance : {
18           'serviceModelId' : {
19             networks : {
20               'networkStoreKey' : {
21                 isMissingData : true
22               }
23             }
24           }
25         }},
26       <UpdateNetworkInstanceAction>{
27         type: NetworkActions.UPDATE_NETWORK_INSTANCE,
28         networkInstance : new NetworkInstance(),
29         networkStoreKey : 'networkStoreKey',
30         networkModelName : 'networkModelName',
31         serviceUuid : 'serviceModelId'
32       }).serviceInstance['serviceModelId'].networks['networkStoreKey'];
33
34     expect(networkState).toBeDefined();
35     expect(networkState.isMissingData).toBeFalsy();
36   });
37
38   test('#CREATE_NETWORK_INSTANCE', () => {
39     let networkInstance: NetworkInstance = new NetworkInstance();
40     networkInstance.isMissingData = false;
41     networkInstance.instanceName = 'instanceName';
42     let networkState = networkReducer(<any>{serviceInstance : {
43           'serviceModelId' : {
44             networks : {}
45           }
46         }},
47       <CreateNetworkInstanceAction>{
48         type: NetworkActions.CREATE_NETWORK_INSTANCE,
49         networkInstance : new NetworkInstance(),
50         networkStoreKey : null,
51         networkModelName : 'networkModelName',
52         serviceUuid : 'serviceModelId'
53       }).serviceInstance['serviceModelId'].networks['networkModelName'];
54
55     expect(networkState).toBeDefined();
56     expect(networkState.isMissingData).toBeFalsy();
57   });
58
59   test('#UPDATE_NETWORK_FUNCTION', () => {
60     let state = networkReducer(<any>{serviceInstance : {}},
61       <UpdateNetworkCollectionFunction>{
62         type: NetworkActions.UPDATE_NETWORK_FUNCTION,
63         networksAccordingToNetworkCollection: 'networksAccordingToNetworkCollection',
64         network_function: 'network_function'
65       });
66
67     expect(state).toBeDefined();
68   });
69
70   test('#DELETE_ACTION_NETWORK_INSTANCE', () => {
71     let networkState = networkReducer(<any>{serviceInstance : {
72           'serviceModelId' : {
73             networks : {
74               'networkStoreKey' : {
75                 isMissingData : true,
76                 action : 'None'
77               }
78             }
79           }
80         }},
81       <DeleteActionNetworkInstanceAction>{
82         type: NetworkActions.DELETE_ACTION_NETWORK_INSTANCE,
83         networkStoreKey: 'networkStoreKey',
84         serviceId: 'serviceModelId'
85       }).serviceInstance['serviceModelId'].networks['networkStoreKey'];
86
87     expect(networkState).toBeDefined();
88     expect(networkState.action).toEqual(ServiceInstanceActions.None_Delete);
89   });
90
91   test('#UNDO_DELETE_ACTION_NETWORK_INSTANCE', () => {
92     let networkState = networkReducer(<any>{serviceInstance : {
93           'serviceModelId' : {
94             networks : {
95               'networkStoreKey' : {
96                 isMissingData : true,
97                 action : 'Update_Delete'
98               }
99             }
100           }
101         }},
102       <UndoDeleteActionNetworkInstanceAction>{
103         type: NetworkActions.UNDO_DELETE_ACTION_NETWORK_INSTANCE,
104         networkStoreKey: 'networkStoreKey',
105         serviceId: 'serviceModelId'
106       }).serviceInstance['serviceModelId'].networks['networkStoreKey'];
107
108     expect(networkState).toBeDefined();
109     expect(networkState.action).toEqual(ServiceInstanceActions.Update);
110   });
111 });
112
113
114