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