aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEylon Malin <eylon.malin@intl.att.com>2019-12-11 08:11:02 +0200
committerEylon Malin <eylon.malin@intl.att.com>2019-12-11 08:11:02 +0200
commit0b4cdc4ab5740f9a1a4e308a0dee6ab9bcf8c6c4 (patch)
treee76e912f66c5c8e08bd97dfb62a56fcdad3bb2cd
parent4b375fb18be002051fb4a5e07f3baf23b1e92d02 (diff)
add common method for getting max allowed instances of vfModule + UT
Issue-ID: VID-726 Signed-off-by: Eylon Malin <eylon.malin@intl.att.com> Change-Id: Ib4597a027a6ac519ca2290d41b0f3208d47cc5b3
-rw-r--r--vid-webpack-master/src/app/shared/utils/util.spec.ts40
-rw-r--r--vid-webpack-master/src/app/shared/utils/utils.ts15
2 files changed, 35 insertions, 20 deletions
diff --git a/vid-webpack-master/src/app/shared/utils/util.spec.ts b/vid-webpack-master/src/app/shared/utils/util.spec.ts
index 4b39764f5..ae39238c2 100644
--- a/vid-webpack-master/src/app/shared/utils/util.spec.ts
+++ b/vid-webpack-master/src/app/shared/utils/util.spec.ts
@@ -1,24 +1,8 @@
import {Utils} from "./utils";
-import {TestBed} from "@angular/core/testing";
import each from "jest-each";
describe('Util', () => {
- let util: Utils;
-
- beforeAll(done => (async () => {
- TestBed.configureTestingModule({
-
- });
- await TestBed.compileComponents();
-
- util = new Utils();
-
- })().then(done).catch(done.fail));
-
- test('should be defined', () => {
- expect(util).toBeDefined();
- });
test('hasContents should return false if object is undefined or null or empty', () => {
expect(Utils.hasContents(undefined)).toBeFalsy();
@@ -40,4 +24,28 @@ describe('Util', () => {
expect(Utils.isALaCarte(instantiationType)).toEqual(expected);
});
+ each([
+ ["empty properties, empty flags",{}, {}, 1],
+ ["null properties, undefined flags",null, undefined, 1],
+ ["max_instances 3, flag is on", {max_instances:3}, {FLAG_2002_UNLIMITED_MAX: true}, 3],
+ ["max_instances 3, flag is off", {max_instances:3}, {FLAG_2002_UNLIMITED_MAX: false}, 3],
+ ["null properties, flag is on", null, {FLAG_2002_UNLIMITED_MAX: true}, null],
+ ["null properties, flag is off", null, {FLAG_2002_UNLIMITED_MAX: false}, 1],
+ ["undefined properties, flag is off", undefined, {FLAG_2002_UNLIMITED_MAX: false}, 1],
+ ]).test('getMaxFirstLevel %s', (desc, properties, flags, expected) => {
+ expect(Utils.getMaxFirstLevel(properties, flags)).toEqual(expected);
+ });
+
+ each([
+ ["empty properties, empty flags",{}, {}, 1],
+ ["null properties, undefined flags",null, undefined, 1],
+ ["wrong field, flag is on", {max_instances:3}, {FLAG_2002_UNLIMITED_MAX: true}, null],
+ ["maxCountInstances 3, flag is on", {maxCountInstances:3}, {FLAG_2002_UNLIMITED_MAX: true}, 3],
+ ["maxCountInstances 3, flag is off", {maxCountInstances:3}, {FLAG_2002_UNLIMITED_MAX: true}, 3],
+ ]).test('getMaxFirstLevel %s', (desc, properties, flags, expected) => {
+ expect(Utils.getMaxVfModule(properties, flags)).toEqual(expected);
+ });
+
+
+
});
diff --git a/vid-webpack-master/src/app/shared/utils/utils.ts b/vid-webpack-master/src/app/shared/utils/utils.ts
index cd7ebdff6..3db770738 100644
--- a/vid-webpack-master/src/app/shared/utils/utils.ts
+++ b/vid-webpack-master/src/app/shared/utils/utils.ts
@@ -3,11 +3,18 @@ import * as _ from 'lodash'
export class Utils {
static getMaxFirstLevel(properties, flags: { [key: string]: boolean }) : number | null{
- if (flags && !!flags['FLAG_2002_UNLIMITED_MAX']) {
- return !_.isNil(properties) && !_.isNil(properties.max_instances) ? properties.max_instances : null;
- } else {
- return properties.max_instances || 1;
+ return this.getMaxInstancesAllowed(properties, 'max_instances', flags)
+ }
+
+ static getMaxVfModule(properties, flags: { [key: string]: boolean }) : number | null{
+ return this.getMaxInstancesAllowed(properties, 'maxCountInstances', flags)
+ }
+
+ static getMaxInstancesAllowed(properties, filedName: string, flags: { [key: string]: boolean }) : number | null{
+ if (!_.isNil(properties) && !_.isNil(properties[filedName])) {
+ return properties[filedName];
}
+ return (flags && !!flags['FLAG_2002_UNLIMITED_MAX']) ? null : 1;
}
public static clampNumber = (number, min, max) => {