aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts42
-rw-r--r--vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts13
2 files changed, 51 insertions, 4 deletions
diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts
index 3499377ac..dc4c2d3de 100644
--- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts
+++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts
@@ -400,10 +400,10 @@ describe('Shared Tree Service', () => {
[true, false, true, true],
[true, false, false, false],
]).
- test('when flag is %s the UpdatedLatestVersion is %s and Vfmodule CustomizationUuid Differ is %s isShouldShowButtonGenericMustToBeCalled should return %s', (
+ test('when flag is %s the UpdatedLatestVersion is %s and Vfmodule not exists on hierarchy is %s isShouldShowButtonGenericMustToBeCalled should return %s', (
flag: boolean,
isThereAnUpdatedLatestVersion: boolean,
- isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer: boolean,
+ isVfModuleCustomizationIdNotExistsOnModel: boolean,
isShouldShowButtonGenericMustToBeCalled: boolean
) => {
let node = <any> {};
@@ -416,11 +416,47 @@ describe('Shared Tree Service', () => {
}
});
spyOn(service, 'isThereAnUpdatedLatestVersion').and.returnValue(isThereAnUpdatedLatestVersion);
- spyOn(service, 'isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer').and.returnValue(isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer);
+ spyOn(service, 'isVfModuleCustomizationIdNotExistsOnModel').and.returnValue(isVfModuleCustomizationIdNotExistsOnModel);
expect(service.isVfMoudleCouldBeUpgraded(node, serviceModelId)).toEqual(isShouldShowButtonGenericMustToBeCalled);
});
+ each([
+ ['Vfm customization uuid not exists in model', 'not-existing-customization-uuid', 'service-model-id', true],
+ ['Vfm customization uuid exists in model', 'existing-customization-uuid', 'service-model-id', false]
+ ]).
+ test('%s when vfModuleNode is %s and serviceModelId is %s ', (
+ description,
+ modelCustomizationId,
+ serviceModelId: string,
+ isExistsOnHierarchy: boolean,
+ ) => {
+
+ const vfModuleNode = { data: {
+ modelCustomizationId : modelCustomizationId
+ }};
+
+ jest.spyOn(store, 'getState').mockReturnValue(<any>{
+ service : {
+ "serviceHierarchy": {
+ [serviceModelId]: {
+ "vfModules": {
+ "module-1": {
+ "customizationUuid": "3d7f41c8-333b-4fee-b50d-5687e9c2170f",
+ },
+ "module-2": {
+ "customizationUuid": "existing-customization-uuid",
+ }
+ }
+ }
+ }
+ }
+ });
+ expect(service.isVfModuleCustomizationIdNotExistsOnModel(vfModuleNode, serviceModelId)).toEqual(isExistsOnHierarchy);
+
+
+ });
+
});
function getStore() {
diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts
index de859e4ea..864472505 100644
--- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts
+++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts
@@ -222,7 +222,18 @@ export class SharedTreeService {
isVfMoudleCouldBeUpgraded(node, serviceModelId): boolean{
return (FeatureFlagsService.getFlagState(Features.FLAG_FLASH_REPLACE_VF_MODULE, this._store) &&
- ((this.isThereAnUpdatedLatestVersion(serviceModelId)) || this.isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer(node, serviceModelId)))
+ (this.isThereAnUpdatedLatestVersion(serviceModelId) || this.isVfModuleCustomizationIdNotExistsOnModel(node, serviceModelId)))
+ }
+
+ isVfModuleCustomizationIdNotExistsOnModel(vfModuleNode, serviceModelId) {
+
+ // prevent undefined
+ if (_.isNil(vfModuleNode.data) || _.isNil(vfModuleNode.data.modelCustomizationId)) {
+ return false;
+ }
+
+ let vfModulesHierarchyByGivenModelId = this._store.getState().service.serviceHierarchy[serviceModelId].vfModules;
+ return !_.some(vfModulesHierarchyByGivenModelId, vfmodel => vfmodel.customizationUuid === vfModuleNode.data.modelCustomizationId);
}