Allow edit service button to be shown on service context menu in recreate mode.

Issue-ID: VID-724
Change-Id: Ife26ef3278a37555a80fe4f3e8afa56666ca81ba
Signed-off-by: Alexey Sandler <alexey.sandler@intl.att.com>
diff --git a/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json b/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json
index a874fec..a7b3a04 100644
--- a/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json
+++ b/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json
@@ -41,12 +41,12 @@
         "modelType": "vnf",
         "modelVersion": "1.0"
       },
-      "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
+      "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89",
       "instanceName": "hvf6arlba007",
       "action": "Create",
       "platformName": "xxx1",
       "lcpCloudRegionId": "hvf6",
-      "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
+      "tenantId": "4914ab0ab3a743e58f0eefdacc1dde77",
       "instanceParams": [
         {}
       ],
@@ -67,7 +67,7 @@
             "instanceName": "hvf6arlba007_lba_Base_01",
             "action": "Create",
             "lcpCloudRegionId": "hvf6",
-            "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
+            "tenantId": "4914ab0ab3a743e58f0eefdacc1dde77",
             "instanceParams": [
               {}
             ],
@@ -90,7 +90,7 @@
             "instanceName": "hvf6arlba007_lba_dj_01",
             "action": "Create",
             "lcpCloudRegionId": "hvf6",
-            "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
+            "tenantId": "4914ab0ab3a743e58f0eefdacc1dde77",
             "instanceParams": [
               {}
             ],
diff --git a/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts
index 8f76908..dbb9bca 100644
--- a/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts
+++ b/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts
@@ -8,6 +8,7 @@
       cy.clearSessionStorage();
       cy.setTestApiParamToVNF();
       cy.initAAIMock();
+      cy.initGetAAISubDetails();
       cy.initVidMock();
       cy.initDrawingBoardUserPermission();
       cy.login();
@@ -21,7 +22,7 @@
 
     describe('Load Page and Deploy', () => {
 
-      it(`Given a stored template - when click "deploy" - then a coherent request should be sent upon deploy`, function () {
+      it(`Given a stored template - when click "deploy" - then a coherent request should be sent upon deploy`,  () => {
 
         loadDrawingBoardWithRecreateMode();
 
@@ -43,9 +44,8 @@
         .getElementByDataTestsId("lcpRegion").should('contain', 'hvf6')
         .getElementByDataTestsId("lineOfBusiness").should('contain', 'zzz1')
         .getElementByDataTestsId("rollback").should('contain', 'Rollback')
-
-
-        .getElementByDataTestsId("cancelButton").click();
+        .checkPlatformValue('xxx1')
+         .getElementByDataTestsId("cancelButton").click();
 
         cy.drawingBoardTreeOpenContextMenuByElementDataTestId("node-c5b26cc1-a66f-4b69-aa23-6abc7c647c88-vprobe_nc_vnf0..VprobeNcVnf..FE_base_module..module-0")
         .drawingBoardTreeClickOnContextMenuOptionByName('Edit')
@@ -53,7 +53,6 @@
         .getElementByDataTestsId("lcpRegion").should('contain', 'hvf6')
         .getElementByDataTestsId("tenant").should('contain', 'DN5242-Nov21-T1')
         .getElementByDataTestsId("rollback").should('contain', 'Rollback')
-
         .getElementByDataTestsId("cancelButton").click();
 
         cy.drawingBoardTreeOpenContextMenuByElementDataTestId("node-c09e4530-8fd8-418f-9483-2f57ce927b05-vprobe_nc_vnf0..VprobeNcVnf..FE_Add_On_Module_vlbagent_eph..module-1")
@@ -68,16 +67,25 @@
         assertThatBodyFromDeployRequestEqualsToTemplateFromBackEnd();
         });
 
-      it(`Edit the service`, function () {
+      it(`Edit the service`,  function ()  {
 
         loadDrawingBoardWithRecreateMode();
 
         cy.openServiceContextMenu()
-        .getElementByDataTestsId("context-menu-header-edit-item").click({force : true})
-        });
+        .getElementByDataTestsId("context-menu-header-edit-item").click()
+        .getElementByDataTestsId("instanceName").should('have.value', 'vProbe_NC_Service_DG_new_SI')
+        .getElementByDataTestsId("subscriberName").should('contain', 'SILVIA ROBBINS')
+        .getElementByDataTestsId("serviceType").should('contain', 'TYLER SILVIA')
+        .getElementByDataTestsId("owningEntity").should('contain', 'WayneHolland')
+        .getElementByDataTestsId("project").should('contain', 'WATKINS')
+        .getElementByDataTestsId("rollback").should('contain', 'Rollback');
+
+
+
+
+      });
       });
     });
-
   });
 
 function loadDrawingBoardWithRecreateMode() {
diff --git a/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts b/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts
index 7854899..ae3bf6d 100644
--- a/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts
+++ b/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts
@@ -18,6 +18,7 @@
   return cy.getElementByDataTestsId('deployBtn');
 }
 
+
 Cypress.Commands.add('drawingBoardPressAddButtonByElementName', drawingBoardPressAddButtonByElementName);
 Cypress.Commands.add('drawingBoardNumberOfExistingElementsShouldContains', drawingBoardNumberOfExistingElementsShouldContains);
 Cypress.Commands.add('getDrawingBoardDeployBtn', getDrawingBoardDeployBtn);
diff --git a/vid-webpack-master/cypress/support/steps/genericForm/genericFormAction.steps.ts b/vid-webpack-master/cypress/support/steps/genericForm/genericFormAction.steps.ts
index 00a9457..1151736 100644
--- a/vid-webpack-master/cypress/support/steps/genericForm/genericFormAction.steps.ts
+++ b/vid-webpack-master/cypress/support/steps/genericForm/genericFormAction.steps.ts
@@ -2,6 +2,7 @@
   interface Chainable {
     genericFormSubmitForm: typeof genericFormSubmitForm
     selectPlatformValue: typeof selectPlatformValue
+    checkPlatformValue: typeof checkPlatformValue
   }
 }
 
@@ -12,6 +13,9 @@
       cy.getElementByDataTestsId("multi-selectPlatform").get('.c-btn').click({force: true});
 }
 
+function checkPlatformValue(value: string){
+  return cy.getElementByDataTestsId("multi-selectPlatform").should("contain", value)
+}
 
 function genericFormSubmitForm(): Chainable<any> {
   return cy.getElementByDataTestsId('form-set').click({force: true});
@@ -20,3 +24,4 @@
 
 Cypress.Commands.add('genericFormSubmitForm', genericFormSubmitForm);
 Cypress.Commands.add('selectPlatformValue', selectPlatformValue);
+Cypress.Commands.add('checkPlatformValue', checkPlatformValue);
diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts
index 76fc28a..7e28b2a 100644
--- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts
+++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts
@@ -63,6 +63,30 @@
 
   })().then(done).catch(done.fail));
 
+  each([
+    ['', DrawingBoardModes.RECREATE, true],
+    ['', DrawingBoardModes.CREATE, true],
+    ['Create', DrawingBoardModes.EDIT, true],
+    ['Create', DrawingBoardModes.RETRY_EDIT, true],
+    ['Create', DrawingBoardModes.VIEW, false],
+    ['Create', DrawingBoardModes.OLD_VIEW_EDIT, false],
+
+
+  ]).
+  test('should show edit button in correct Drawing Board Mode state', (action: string, mode: DrawingBoardModes, expected: boolean) => {
+    jest.spyOn(store, 'getState').mockReturnValue(<any>{
+      service: {
+        serviceInstance : {
+          'serviceInstanceId' : {
+            action: action
+          }
+        }
+      }
+    });
+
+  let result = service.showEditService(mode,'serviceInstanceId' );
+    expect (result).toBe(expected);
+  });
 
   test('should generate url to old view/edit ', () => {
     const query: string = 'subscriberId=subscriberId&subscriberName=subscriberName&serviceType=serviceType&serviceInstanceId=serviceInstanceId';
diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts
index 634fa62..4e8e311 100644
--- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts
+++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts
@@ -96,7 +96,7 @@
 
   showEditService(mode: DrawingBoardModes, serviceModelId: string): boolean{
     const serviceInstance = this.store.getState().service.serviceInstance;
-    return mode === DrawingBoardModes.CREATE || ((mode === DrawingBoardModes.RETRY_EDIT || mode === DrawingBoardModes.EDIT || mode === DrawingBoardModes.RECREATE )&&
+    return mode === DrawingBoardModes.CREATE || mode === DrawingBoardModes.RECREATE || ((mode === DrawingBoardModes.RETRY_EDIT || mode === DrawingBoardModes.EDIT)&&
       !_.isNil(serviceInstance) && !_.isNil(serviceInstance[serviceModelId])&& serviceInstance[serviceModelId].action === ServiceInstanceActions.Create);
   }