support recreate and isRecreateEnabled in instantiationStatus service 89/99189/1
authorEylon Malin <eylon.malin@intl.att.com>
Thu, 5 Dec 2019 06:44:29 +0000 (08:44 +0200)
committerEylon Malin <eylon.malin@intl.att.com>
Thu, 5 Dec 2019 06:44:29 +0000 (08:44 +0200)
Issue-ID: VID-724
Signed-off-by: Eylon Malin <eylon.malin@intl.att.com>
Change-Id: Iae797bfa49d73059d67e66b5a6dc0ea62de1195c

vid-webpack-master/src/app/instantiationStatus/instantiationStatus.component.service.spec.ts
vid-webpack-master/src/app/instantiationStatus/instantiationStatus.component.service.ts

index a5e6fab..29adfa9 100644 (file)
@@ -10,6 +10,8 @@ import {DrawingBoardModes} from "../drawingBoard/service-planning/drawing-board.
 import {RouterTestingModule} from "@angular/router/testing";
 import {of} from "rxjs";
 import {UrlTree} from "@angular/router";
+import each from "jest-each";
+import {ServiceAction} from "../shared/models/serviceInstanceActions";
 
 class MockAppStore<T> {
 
@@ -158,6 +160,18 @@ describe('Instantiation Status Service', () => {
     expect(statusResult.iconClassName).toEqual(UNKNOWN);
   });
 
+
+  each([
+      [true, ServiceAction.INSTANTIATE],
+      [false, ServiceAction.UPDATE],
+      [false, ServiceAction.DELETE],
+  ]).
+  test('isRecreateEnabled: should be %s if action is %s', (expected:boolean, action:ServiceAction) => {
+    let serviceInfoModel = new ServiceInfoModel();
+    serviceInfoModel.action = action;
+    expect(service.isRecreateEnabled(serviceInfoModel)).toBe(expected);
+  });
+
   test('getStatusTooltip should return correct icon per job status', () => {
     let result : ServiceStatus  = service.getStatus('pending');
     expect(result.iconClassName).toEqual(PENDING);
index 6848a99..227fff1 100644 (file)
@@ -12,6 +12,7 @@ import {updateDrawingBoardStatus} from "../shared/storeUtil/utils/global/global.
 import {Router, UrlTree} from "@angular/router";
 import {of} from "rxjs";
 import {MsoService} from "../shared/services/msoService/mso.service";
+import {ServiceAction} from "../shared/models/serviceInstanceActions";
 
 export let PENDING : string = "pending";
 export let INPROGRESS : string = "in_progress";
@@ -175,6 +176,14 @@ export class InstantiationStatusComponentService {
       this.navigateToNewViewEdit(item, DrawingBoardModes.RETRY_EDIT);
   }
 
+  recreate(item: ServiceInfoModel): void {
+    this.navigateToNewViewEdit(item, DrawingBoardModes.RECREATE);
+  }
+
+  isRecreateEnabled(item: ServiceInfoModel): boolean {
+    return item.action === ServiceAction.INSTANTIATE;
+  }
+
 }