From 8e2ec29dece28c4b17b20f04b3c8377242996572 Mon Sep 17 00:00:00 2001 From: Einat Vinouze Date: Tue, 7 Jan 2020 11:57:32 +0200 Subject: templates button - rename from hasTemplates to isInstantiationTemplateExists on the FE side Issue-ID: VID-741 Signed-off-by: Einat Vinouze Change-Id: I09e0579d96cf5265519eaa69646afef7b511593a Signed-off-by: Einat Vinouze --- .../src/main/java/org/onap/vid/asdc/beans/Service.java | 4 ++++ .../org/onap/vid/services/InstantiationTemplatesService.java | 11 +++++++++-- .../onap/vid/services/InstantiationTemplatesServiceTest.java | 4 ++-- .../src/test/java/org/onap/vid/api/AaiApiTest.java | 11 +++++++++++ .../integration/iFrames/instantiation.templates.modal.e2e.ts | 2 +- .../cypress/integration/iFrames/service.popup.e2e.ts | 2 +- .../genericFormPopup/generic-form-popup.component.ts | 6 +++--- .../genericFormPopup/generic-form-popup.service.spec.ts | 12 ++++++------ .../genericFormPopup/generic-form-popup.service.ts | 4 ++-- .../instantiation.templates.modal.service.spec.ts | 2 +- .../instantiation.templates.modal.service.ts | 2 +- 11 files changed, 41 insertions(+), 19 deletions(-) diff --git a/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java b/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java index 092cfe4e2..f5dd5d85f 100644 --- a/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java +++ b/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java @@ -20,6 +20,9 @@ package org.onap.vid.asdc.beans; +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +import com.fasterxml.jackson.annotation.JsonInclude; import java.util.Collection; import java.util.UUID; @@ -77,6 +80,7 @@ public class Service { private String orchestrationType; + @JsonInclude(NON_NULL) private Boolean isInstantiationTemplateExists; diff --git a/vid-app-common/src/main/java/org/onap/vid/services/InstantiationTemplatesService.java b/vid-app-common/src/main/java/org/onap/vid/services/InstantiationTemplatesService.java index c033fbd59..17520eef4 100644 --- a/vid-app-common/src/main/java/org/onap/vid/services/InstantiationTemplatesService.java +++ b/vid-app-common/src/main/java/org/onap/vid/services/InstantiationTemplatesService.java @@ -29,6 +29,7 @@ import java.util.Map; import java.util.Set; import java.util.UUID; import javax.inject.Inject; +import org.jetbrains.annotations.NotNull; import org.onap.vid.asdc.beans.Service; import org.onap.vid.dal.AsyncInstantiationRepository; import org.onap.vid.model.ModelUtil; @@ -76,7 +77,8 @@ public class InstantiationTemplatesService { public Collection setOnEachServiceIsTemplateExists(Collection services){ if (!featureManager.isActive(Features.FLAG_2004_CREATE_ANOTHER_INSTANCE_FROM_TEMPLATE)){ - return services; + return unsetTemplateExistsToAllServices(services); + } Set serviceModelIdsFromDB = asyncInstantiationRepository.getAllTemplatesServiceModelIds(); @@ -84,8 +86,13 @@ public class InstantiationTemplatesService { return services.stream().map(it -> setTemplateExistForService(it, serviceModelIdsFromDB)).collect(toList()); } - protected Service setTemplateExistForService(Service service, Set serviceModelIdsFromDb) { + @NotNull + protected Collection unsetTemplateExistsToAllServices(Collection services) { + services.forEach(it -> it.setIsInstantiationTemplateExists(false)); + return services; + } + protected Service setTemplateExistForService(Service service, Set serviceModelIdsFromDb) { service.setIsInstantiationTemplateExists(serviceModelIdsFromDb.contains(service.getUuid())); return service; } diff --git a/vid-app-common/src/test/java/org/onap/vid/services/InstantiationTemplatesServiceTest.java b/vid-app-common/src/test/java/org/onap/vid/services/InstantiationTemplatesServiceTest.java index 0c66f9550..de9fc2bcb 100644 --- a/vid-app-common/src/test/java/org/onap/vid/services/InstantiationTemplatesServiceTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/services/InstantiationTemplatesServiceTest.java @@ -154,8 +154,8 @@ public class InstantiationTemplatesServiceTest { when(featureManager.isActive(Features.FLAG_2004_CREATE_ANOTHER_INSTANCE_FROM_TEMPLATE)).thenReturn(false); Collection actualCollection = instantiationTemplatesService.setOnEachServiceIsTemplateExists(createGivenCollection()); assertThat("was " + actualCollection, actualCollection, containsInAnyOrder( - allOf(hasProperty("uuid", is("1")), hasProperty("isInstantiationTemplateExists", nullValue())), - allOf(hasProperty("uuid", is("3")), hasProperty("isInstantiationTemplateExists", nullValue())) + allOf(hasProperty("uuid", is("1")), hasProperty("isInstantiationTemplateExists", is(false))), + allOf(hasProperty("uuid", is("3")), hasProperty("isInstantiationTemplateExists", is(false))) )); } diff --git a/vid-automation/src/test/java/org/onap/vid/api/AaiApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/AaiApiTest.java index 05d73a619..555c2edcf 100644 --- a/vid-automation/src/test/java/org/onap/vid/api/AaiApiTest.java +++ b/vid-automation/src/test/java/org/onap/vid/api/AaiApiTest.java @@ -101,6 +101,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterFullName\": null,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_OK\",\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + " }, {\n" + @@ -115,6 +116,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterFullName\": null,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_ERROR\",\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + " }, {\n" + @@ -128,6 +130,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterUserId\": null,\n" + " \"lastUpdaterFullName\": null,\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_OK\",\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + @@ -143,6 +146,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterFullName\": null,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_OK\",\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + " }, {\n" + @@ -157,6 +161,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterFullName\": null,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_OK\",\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + " }, {\n" + @@ -170,6 +175,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterUserId\": null,\n" + " \"lastUpdaterFullName\": null,\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_OK\",\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + @@ -184,6 +190,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterUserId\": null,\n" + " \"lastUpdaterFullName\": null,\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_OK\",\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + @@ -198,6 +205,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterUserId\": null,\n" + " \"lastUpdaterFullName\": null,\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_OK\",\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + @@ -212,6 +220,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterUserId\": null,\n" + " \"lastUpdaterFullName\": null,\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_OK\",\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + @@ -226,6 +235,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterUserId\": null,\n" + " \"lastUpdaterFullName\": null,\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_OK\",\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + @@ -240,6 +250,7 @@ public class AaiApiTest extends BaseApiAaiTest { " \"lastUpdaterUserId\": null,\n" + " \"lastUpdaterFullName\": null,\n" + " \"orchestrationType\": null,\n" + + " \"isInstantiationTemplateExists\": false,\n" + " \"distributionStatus\": \"DISTRIBUTION_COMPLETE_OK\",\n" + " \"artifacts\": null,\n" + " \"resources\": null\n" + diff --git a/vid-webpack-master/cypress/integration/iFrames/instantiation.templates.modal.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/instantiation.templates.modal.e2e.ts index 0db1b099a..168a93617 100644 --- a/vid-webpack-master/cypress/integration/iFrames/instantiation.templates.modal.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/instantiation.templates.modal.e2e.ts @@ -71,7 +71,7 @@ describe('Template', () => { cy.route(Cypress.config('baseUrl') + "/getuserID", 'us16807000'); - cy.openPopupIframe('/app/ui/#/servicePopup?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd&isCreate=true&hasTemplate=true'); + cy.openPopupIframe('/app/ui/#/servicePopup?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd&isCreate=true&isInstantiationTemplateExists=true'); }); diff --git a/vid-webpack-master/cypress/integration/iFrames/service.popup.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/service.popup.e2e.ts index 4b27ad008..de29313a3 100644 --- a/vid-webpack-master/cypress/integration/iFrames/service.popup.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/service.popup.e2e.ts @@ -36,7 +36,7 @@ describe('Service popup', function () { res1.global.flags = {}; res1.global.flags["FLAG_2004_INSTANTIATION_TEMPLATES_POPUP"] = true; cy.setReduxState(res1); - cy.openPopupIframe('/app/ui/#/servicePopup?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd&isCreate=true&hasTemplate=true'); + cy.openPopupIframe('/app/ui/#/servicePopup?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd&isCreate=true&isInstantiationTemplateExists=true'); cy.getElementByDataTestsId('templateButton').should('be.visible') }); }); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts index 9063e6723..19ea9b9ee 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts @@ -89,7 +89,7 @@ export class GenericFormPopupComponent extends DialogComponent { this.serviceModelId = params['serviceModelId']; if (this.serviceModelId && params['isCreate'] == "true") { - this.onInitForCreateNewServicePopup(params['hasTemplate']); + this.onInitForCreateNewServicePopup(params['isInstantiationTemplateExists']); } }); @@ -107,7 +107,7 @@ export class GenericFormPopupComponent extends DialogComponent { this.uuidData = { bulkSize: 1, @@ -117,7 +117,7 @@ export class GenericFormPopupComponent extends DialogComponent { diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts index 53f345af0..9680c0655 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts @@ -1074,14 +1074,14 @@ describe('Generic Form popup Service', () => { const shouldShowTemplateBtnDataProvider = [ - ['shouldShowTemplateBtn : should return true if flag is true and has template', true , true, true], - ['shouldShowTemplateBtn : should return false if flag is false and has template',false , true, false], - ['shouldShowTemplateBtn : should return false if flag is true and has no template',true , false, false], - ['shouldShowTemplateBtn : should return false if flag is false and has no template',false , false, false]]; - each(shouldShowTemplateBtnDataProvider).test('%s', (desc : string, flag : boolean, hasTemplate : boolean, expected : boolean ) => { + ['shouldShowTemplateBtn : should return true if flag is true and has instantiation template', true , true, true], + ['shouldShowTemplateBtn : should return false if flag is false and has instantiation template',false , true, false], + ['shouldShowTemplateBtn : should return false if flag is true and has no instantiation template',true , false, false], + ['shouldShowTemplateBtn : should return false if flag is false and has no instantiation template',false , false, false]]; + each(shouldShowTemplateBtnDataProvider).test('%s', (desc : string, flag : boolean, isInstantiationTemplateExists : boolean, expected : boolean ) => { spyOn(_featureFlagsService, 'getFlagState').and.returnValue(flag) - const result: boolean = service.shouldShowTemplateBtn(hasTemplate); + const result: boolean = service.shouldShowTemplateBtn(isInstantiationTemplateExists); expect(result).toEqual(expected); }); }); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.ts index 2998ba92b..e3cdaef85 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.ts @@ -95,10 +95,10 @@ export class GenericFormPopupService { - shouldShowTemplateBtn = (hasTemplate: boolean) : boolean => { + shouldShowTemplateBtn = (isInstantiationTemplateExists: boolean) : boolean => { const instantiationTemplateFlag = this._featureFlagsService.getFlagState(Features.FLAG_2004_INSTANTIATION_TEMPLATES_POPUP); if(instantiationTemplateFlag){ - return hasTemplate; + return isInstantiationTemplateExists; } return false; } diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.service.spec.ts index 61f75e84b..78614c0f8 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.service.spec.ts @@ -173,7 +173,7 @@ describe('instantiation templates modal service', () => { service.navigateToNewServiceModal(serviceModelId); - expect(_router.navigate).toBeCalledWith(["/servicePopup"], {"queryParams": {"isCreate": true, "serviceModelId": serviceModelId, hasTemplate : true}, "queryParamsHandling": "merge"}); + expect(_router.navigate).toBeCalledWith(["/servicePopup"], {"queryParams": {"isCreate": true, "serviceModelId": serviceModelId, isInstantiationTemplateExists : true}, "queryParamsHandling": "merge"}); }) }); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.service.ts index c7c198fcb..5c092e9af 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.service.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.service.ts @@ -30,7 +30,7 @@ export class InstantiationTemplatesModalService { navigateToNewServiceModal(serviceModelId: string) { - this._router.navigate(['/servicePopup'], { queryParams: { serviceModelId: serviceModelId, isCreate:true, hasTemplate : true}, queryParamsHandling: 'merge' }); + this._router.navigate(['/servicePopup'], { queryParams: { serviceModelId: serviceModelId, isCreate:true, isInstantiationTemplateExists : true}, queryParamsHandling: 'merge' }); } } -- cgit 1.2.3-korg