aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.reducers.spec.ts
blob: ba41ad6e6007c7e76b8249371dd46b7a4798c192 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import {networkReducer} from "./network.reducers";
import {
  CreateNetworkInstanceAction, DeleteActionNetworkInstanceAction,
  NetworkActions, UndoDeleteActionNetworkInstanceAction,
  UpdateNetworkCollectionFunction,
  UpdateNetworkInstanceAction
} from "./network.actions";
import {NetworkInstance} from "../../../models/networkInstance";
import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";


describe('networkReducer', () => {
  test('#CREATE_SERVICE_INSTANCE', () => {
    let networkInstance: NetworkInstance = new NetworkInstance();
    networkInstance.isMissingData = false;
    networkInstance.instanceName = 'instanceName';
    let networkState = networkReducer(<any>{serviceInstance : {
          'serviceModelId' : {
            networks : {
              'networkStoreKey' : {
                isMissingData : true
              }
            }
          }
        }},
      <UpdateNetworkInstanceAction>{
        type: NetworkActions.UPDATE_NETWORK_INSTANCE,
        networkInstance : new NetworkInstance(),
        networkStoreKey : 'networkStoreKey',
        networkModelName : 'networkModelName',
        serviceUuid : 'serviceModelId'
      }).serviceInstance['serviceModelId'].networks['networkStoreKey'];

    expect(networkState).toBeDefined();
    expect(networkState.isMissingData).toBeFalsy();
  });

  test('#CREATE_NETWORK_INSTANCE', () => {
    let networkInstance: NetworkInstance = new NetworkInstance();
    networkInstance.isMissingData = false;
    networkInstance.instanceName = 'instanceName';
    let networkState = networkReducer(<any>{serviceInstance : {
          'serviceModelId' : {
            networks : {}
          }
        }},
      <CreateNetworkInstanceAction>{
        type: NetworkActions.CREATE_NETWORK_INSTANCE,
        networkInstance : new NetworkInstance(),
        networkStoreKey : null,
        networkModelName : 'networkModelName',
        serviceUuid : 'serviceModelId'
      }).serviceInstance['serviceModelId'].networks['networkModelName'];

    expect(networkState).toBeDefined();
    expect(networkState.isMissingData).toBeFalsy();
  });

  test('#UPDATE_NETWORK_FUNCTION', () => {
    let state = networkReducer(<any>{serviceInstance : {}},
      <UpdateNetworkCollectionFunction>{
        type: NetworkActions.UPDATE_NETWORK_FUNCTION,
        networksAccordingToNetworkCollection: 'networksAccordingToNetworkCollection',
        network_function: 'network_function'
      });

    expect(state).toBeDefined();
  });

  test('#DELETE_ACTION_NETWORK_INSTANCE', () => {
    let networkState = networkReducer(<any>{serviceInstance : {
          'serviceModelId' : {
            networks : {
              'networkStoreKey' : {
                isMissingData : true,
                action : 'None'
              }
            }
          }
        }},
      <DeleteActionNetworkInstanceAction>{
        type: NetworkActions.DELETE_ACTION_NETWORK_INSTANCE,
        networkStoreKey: 'networkStoreKey',
        serviceId: 'serviceModelId'
      }).serviceInstance['serviceModelId'].networks['networkStoreKey'];

    expect(networkState).toBeDefined();
    expect(networkState.action).toEqual(ServiceInstanceActions.None_Delete);
  });

  test('#UNDO_DELETE_ACTION_NETWORK_INSTANCE', () => {
    let networkState = networkReducer(<any>{serviceInstance : {
          'serviceModelId' : {
            networks : {
              'networkStoreKey' : {
                isMissingData : true,
                action : 'Update_Delete'
              }
            }
          }
        }},
      <UndoDeleteActionNetworkInstanceAction>{
        type: NetworkActions.UNDO_DELETE_ACTION_NETWORK_INSTANCE,
        networkStoreKey: 'networkStoreKey',
        serviceId: 'serviceModelId'
      }).serviceInstance['serviceModelId'].networks['networkStoreKey'];

    expect(networkState).toBeDefined();
    expect(networkState.action).toEqual(ServiceInstanceActions.Update);
  });
});