summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/storeUtil/utils/ncf
diff options
context:
space:
mode:
authorAmichai Hemli <ah0398@intl.att.com>2019-07-09 14:23:37 +0000
committerGerrit Code Review <gerrit@onap.org>2019-07-09 14:23:37 +0000
commit58d22b526418ffeb89337fed9e20406da420bc6f (patch)
tree4357c9cfe1c92d57ac0a3f90167cade7af505b95 /vid-webpack-master/src/app/shared/storeUtil/utils/ncf
parent302b02a847e7aa8ccf3ff4bc14ff8a9cf67511b0 (diff)
parent97d9f66df456ef4573047a90baa3cc3ee4bfb0b7 (diff)
Merge changes Ib4430bf2,Icc0bdb9e,I2736b984
* changes: Merge from ecomp 718fd196 - Ext. Services Simulator Merge from ecomp 718fd196 - Integration Tests Merge from ecomp 718fd196 - Modern UI
Diffstat (limited to 'vid-webpack-master/src/app/shared/storeUtil/utils/ncf')
-rw-r--r--vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.actions.ts33
-rw-r--r--vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.spec.ts64
-rw-r--r--vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts26
3 files changed, 123 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.actions.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.actions.ts
new file mode 100644
index 000000000..00b5d9f02
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.actions.ts
@@ -0,0 +1,33 @@
+import {Action, ActionCreator} from "redux";
+
+export enum NcfActions{
+ DELETE_ACTION_NCF_INSTANCE = "DELETE_ACTION_NCF_INSTANCE",
+ UNDO_DELETE_ACTION_NCF_INSTANCE = "UNDO_DELETE_ACTION_NCF_INSTANCE"
+
+}
+export interface DeleteActionNcfInstanceAction extends Action {
+ collectionResourceStoreKey: string,
+ ncfStoreKey : string;
+ serviceId : string;
+}
+
+export interface UndoDeleteActionNcfInstanceAction extends Action {
+ collectionResourceStoreKey: string,
+ ncfStoreKey: string;
+ serviceId?: string;
+}
+
+
+export const deleteActionNcfInstance: ActionCreator<DeleteActionNcfInstanceAction> = (collectionResourceStoreKey, ncfStoreKey, serviceId) => ({
+ type: NcfActions.DELETE_ACTION_NCF_INSTANCE,
+ collectionResourceStoreKey: collectionResourceStoreKey,
+ ncfStoreKey: ncfStoreKey,
+ serviceId: serviceId
+});
+
+export const undoDeleteActionNcfInstance: ActionCreator<UndoDeleteActionNcfInstanceAction> = (collectionResourceStoreKey, ncfStoreKey, serviceId) => ({
+ type: NcfActions.UNDO_DELETE_ACTION_NCF_INSTANCE,
+ collectionResourceStoreKey: collectionResourceStoreKey,
+ ncfStoreKey: ncfStoreKey,
+ serviceId: serviceId
+});
diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.spec.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.spec.ts
new file mode 100644
index 000000000..ac7ab7419
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.spec.ts
@@ -0,0 +1,64 @@
+
+import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
+import {ncfReducer} from "./ncf.reducer";
+import {DeleteActionNcfInstanceAction, NcfActions, UndoDeleteActionNcfInstanceAction} from "./ncf.actions";
+describe('ncfReducer', () => {
+
+ test('#DELETE_ACTION_NCF_INSTANCE', () => {
+ let ncfState = ncfReducer(<any>{
+ serviceInstance: {
+ 'serviceModelId': {
+ collectionResources: {
+ 'collectionResourceStoreKey': {
+ ncfs: {
+ 'ncfStoreKey': {
+ isMissingData: true,
+ action: 'None'
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ <DeleteActionNcfInstanceAction>{
+ type: NcfActions.DELETE_ACTION_NCF_INSTANCE,
+ collectionResourceStoreKey: 'collectionResourceStoreKey',
+ ncfStoreKey: 'ncfStoreKey',
+ serviceId: 'serviceModelId'
+ }).serviceInstance['serviceModelId']['collectionResources']['collectionResourceStoreKey']['ncfs']['ncfStoreKey'];
+
+ expect(ncfState).toBeDefined();
+ expect(ncfState.action).toEqual(ServiceInstanceActions.None_Delete);
+ });
+
+ test('#UNDO_DELETE_ACTION_NCF_INSTANCE', () => {
+ let ncfState = ncfReducer(<any>{
+ serviceInstance: {
+ 'serviceModelId': {
+ collectionResources: {
+ 'collectionResourceStoreKey': {
+ ncfs: {
+ 'ncfStoreKey': {
+ isMissingData: true,
+ action: 'Update_Delete'
+ }
+ }
+ }
+
+ }
+ }
+ }
+ },
+ <UndoDeleteActionNcfInstanceAction>{
+ type: NcfActions.UNDO_DELETE_ACTION_NCF_INSTANCE,
+ collectionResourceStoreKey: 'collectionResourceStoreKey',
+ ncfStoreKey: 'ncfStoreKey',
+ serviceId: 'serviceModelId'
+ }).serviceInstance['serviceModelId']['collectionResources']['collectionResourceStoreKey']['ncfs']['ncfStoreKey'];
+
+ expect(ncfState).toBeDefined();
+ expect(ncfState.action).toEqual(ServiceInstanceActions.Update);
+ });
+
+});
diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts
new file mode 100644
index 000000000..9bb069e0d
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts
@@ -0,0 +1,26 @@
+import {ServiceState} from "../main.reducer";
+import {Action} from "redux";
+import * as _ from "lodash";
+import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
+import {NcfActions, DeleteActionNcfInstanceAction, UndoDeleteActionNcfInstanceAction} from "./ncf.actions";
+
+export function ncfReducer(state: ServiceState, action: Action): ServiceState {
+ switch (action.type) {
+ case NcfActions.DELETE_ACTION_NCF_INSTANCE : {
+ let newState = _.cloneDeep(state);
+ let ncf = newState.serviceInstance[(<DeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<DeleteActionNcfInstanceAction>action).ncfStoreKey];
+ let oldAction = ncf.action;
+ if(oldAction === ServiceInstanceActions.None_Delete || oldAction === ServiceInstanceActions.Update_Delete) return newState;
+ newState.serviceInstance[(<DeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<DeleteActionNcfInstanceAction>action).ncfStoreKey].action = (oldAction + '_Delete') as ServiceInstanceActions;
+ return newState;
+ }
+
+ case NcfActions.UNDO_DELETE_ACTION_NCF_INSTANCE : {
+ let newState = _.cloneDeep(state);
+ let ncf = newState.serviceInstance[(<UndoDeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<UndoDeleteActionNcfInstanceAction>action).ncfStoreKey];
+ let oldState = ncf.action;
+ newState.serviceInstance[(<UndoDeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<UndoDeleteActionNcfInstanceAction>action).ncfStoreKey].action = (oldState.split('_')[0]) as ServiceInstanceActions;
+ return newState;
+ }
+ }
+}