summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/storeUtil/utils/vrf/vrf.reducer.spec.ts
blob: 607fa057db9c948d9cce2075cf7dcd0c8f2a5097 (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
import {vrfReducer} from "./vrf.reducer";
import {
  AssociateVRFMemberInstanceAction,
  ClearAssociateVRFMemberInstanceAction,
  CreateVRFInstanceAction, DeleteActionVrfInstanceAction, UndoDeleteActionVrfInstanceAction,
  VrfActions
} from "./vrf.actions";
import {vnfReducer} from "../vnf/vnf.reducers";
import {DeleteActionVnfInstanceAction, UndoDeleteActionVnfInstanceAction, VNFActions} from "../vnf/vnf.actions";
import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";


describe('vrfReducer', () => {
  test('#VRF_ASSOCIATE_MEMBER ', () => {

    const serviceModelId: string = 'serviceModelID';
    const vrfStoreKey : string = 'vrfStoreKey';
    const memberType : string = 'networks';
    const member = {a : 1 , b : 2};
    let vrfState = vrfReducer(<any>{
         serviceInstance : {
          [serviceModelId] : {
            vrfs : {
              [vrfStoreKey] : {
                [memberType] : {

                }
              }

            }
          }
        }},
      <AssociateVRFMemberInstanceAction>{
        type: VrfActions.VRF_ASSOCIATE_MEMBER,
        vrfStoreKey : vrfStoreKey,
        serviceModelId : serviceModelId,
        memberType : memberType,
        member : member
      });

    expect(vrfState).toBeDefined();
    expect(vrfState.serviceInstance[serviceModelId].vrfs[vrfStoreKey][memberType][`${vrfStoreKey} ${memberType} 1`]).toBeDefined();
    expect(vrfState.serviceInstance[serviceModelId].vrfs[vrfStoreKey][memberType][`${vrfStoreKey} ${memberType} 1`]).toEqual(member);
  });

  test('#CLAER_ASSOCIATE__VRF_MEMBERS ', () => {

    const serviceModelId: string = 'serviceModelID';
    const vrfStoreKey : string = 'vrfStoreKey';
    const memberType : string = 'networks';
    let vrfState = vrfReducer(<any>{
        serviceInstance : {
          [serviceModelId] : {
            vrfs : {
              [vrfStoreKey] : {
                [memberType] : {
                  a : 1,
                  b : 2
                }
              }

            }
          }
        }},
      <ClearAssociateVRFMemberInstanceAction>{
        type: VrfActions.CLAER_ASSOCIATE__VRF_MEMBERS,
        vrfStoreKey : vrfStoreKey,
        serviceModelId : serviceModelId,
        memberType : memberType
      }).serviceInstance[serviceModelId].vrfs[vrfStoreKey];

    expect(vrfState).toBeDefined();
    expect(vrfState[memberType]).toBeDefined();
    expect(vrfState[memberType]).toEqual({});
  });

  test('#CREATE_VRF_INSTANCE ', () => {

    const serviceModelId: string = 'serviceModelID';
    const vrfStoreKey : string = 'vrfStoreKey';
    const vrfModelName : string = 'vrfModelName';
    const memberType : string = 'networks';
    let vrfState = vrfReducer(<any>{
         serviceInstance : {
          [serviceModelId] : {
            vrfs : {
              [vrfStoreKey] : {
                [memberType] : {

                }
              }

            }
          }
        }},
      <CreateVRFInstanceAction>{
        type: VrfActions.CREATE_VRF_INSTANCE,
        vrfModel : {
          name : vrfModelName
        },
        serviceModelId : serviceModelId,
        vrfStoreKey : vrfStoreKey
      }).serviceInstance[serviceModelId].vrfs;

    expect(vrfState).toBeDefined();
    expect(vrfState[vrfModelName]).toBeDefined();
  });

  test('#DELETE_ACTION_VRF_INSTANCE', () => {
    let vnfState = vrfReducer(<any>{serviceInstance : {
          'serviceModelId' : {
            vrfs : {
              'vrfStoreKey' : {
                isMissingData : true,
                action : 'None'
              }
            }
          }
        }},
      <DeleteActionVrfInstanceAction>{
        type: VrfActions.DELETE_ACTION_VRF_INSTANCE,
        vrfStoreKey: 'vrfStoreKey',
        serviceId: 'serviceModelId'
      }).serviceInstance['serviceModelId'].vrfs['vrfStoreKey'];

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

  test('#UNDO_DELETE_ACTION_VRF_INSTANCE', () => {
    let vnfState = vrfReducer(<any>{serviceInstance : {
          'serviceModelId' : {
            vrfs : {
              'vrfStoreKey' : {
                isMissingData : true,
                action : 'Update_Delete'
              }
            }
          }
        }},
      <UndoDeleteActionVrfInstanceAction>{
        type: VrfActions.UNDO_DELETE_ACTION_VRF_INSTANCE,
        vrfStoreKey: 'vrfStoreKey',
        serviceId: 'serviceModelId'
      }).serviceInstance['serviceModelId'].vrfs['vrfStoreKey'];

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