['Model customization ID', '55b1be94-671a-403e-a26c-667e9c47d091'],
['Base module', 'false'],
['Min instances', '0'],
+ ['Max instances', 'Unlimited (default)'],
['Initial instances count', '0']
];
const extraLabelsAndValuesForInstance = [['In maintenance','true'], ['Instance ID', '2c1ca484-cbc2-408b-ab86-25a2c15ce280']];
function testComponentInfoForNetwork(){
const labelsAndValuesForModel = [
['Model version', '37.0'],
+ ['Min instances', '0'],
+ ['Max instances', 'Unlimited (default)'],
['Model customization ID', '94fdd893-4a36-4d70-b16a-ec29c54c184f'],
['Network role','network role 1, network role 2']
];
const instance = getNetworkInstance();
let actualNetworkInfo = networkModel.getInfo(model, instance);
let expectedNetworkInfo = [
+ ModelInformationItem.createInstance("Min instances", "0"),
+ ModelInformationItem.createInstance("Max instances", "1"),
ModelInformationItem.createInstance('Network role', "network role 1, network role 2"),
ModelInformationItem.createInstance("Route target id", null),
- ModelInformationItem.createInstance("Route target role", null)
+ ModelInformationItem.createInstance("Route target role", null),
];
expect(actualNetworkInfo).toEqual(expectedNetworkInfo);
});
+ test('When there is no max Max instances text is: Unlimited (default)', () => {
+ let actualVNFInfo = networkModel.getInfo({just:"not empty"},null);
+ const maxInstancesItem = actualVNFInfo.find((item)=> item.label == 'Max instances');
+ expect(maxInstancesItem.values[0]).toEqual('Unlimited (default)');
+ });
+
function getNetworkModel() {
return {
"customizationUuid": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
import {InputType} from "../../../../../shared/models/inputTypes";
import {NgRedux} from "@angular-redux/store";
import {AppState} from "../../../../../shared/store/reducers";
-import {
- GenericFormPopupComponent,
- PopupType
-} from "../../../../../shared/components/genericFormPopup/generic-form-popup.component";
+import {GenericFormPopupComponent, PopupType} from "../../../../../shared/components/genericFormPopup/generic-form-popup.component";
import {DialogService} from "ng2-bootstrap-modal";
import {NetworkPopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/network/network.popup.service";
import * as _ from "lodash";
import {SdcUiServices} from "onap-ui-angular";
import {DuplicateService} from "../../../duplicate/duplicate.service";
import {ServiceInstanceActions} from "../../../../../shared/models/serviceInstanceActions";
-import {
- deleteActionNetworkInstance,
- undoDeleteActionNetworkInstance,
- updateNetworkPosition
-} from "../../../../../shared/storeUtil/utils/network/network.actions";
+import {deleteActionNetworkInstance, undoDeleteActionNetworkInstance, updateNetworkPosition} from "../../../../../shared/storeUtil/utils/network/network.actions";
import {IModalConfig} from "onap-ui-angular/dist/modals/models/modal-config";
import {ComponentInfoType} from "../../../component-info/component-info-model";
import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component";
}
getInfo(model, instance): ModelInformationItem[] {
- const modelInformation = !_.isEmpty(model) && !_.isEmpty(model.properties) ? [
- ModelInformationItem.createInstance("Network role", model.properties.network_role)] : [];
- ModelInformationItem.createInstance("Min instances", !_.isNull(model.min) ? String(model.min) : null),
- ModelInformationItem.createInstance("Max instances", !_.isNull(model.max) ? String(model.max) : null)
+ const modelInformation = !_.isEmpty(model) ? [
+ ModelInformationItem.createInstance("Min instances", !_.isNull(model.min) ? String(model.min) : null),
+ this._sharedTreeService.createMaximumToInstantiateModelInformationItem(model)
+ ] : [];
+
+ if (!_.isEmpty(model) && !_.isEmpty(model.properties)) {
+ modelInformation.push(ModelInformationItem.createInstance("Network role", model.properties.network_role))
+ }
+
const instanceInfo = !_.isEmpty(instance) ? [
ModelInformationItem.createInstance("Route target id", instance.routeTargetId ? instance.routeTargetId : null),
ModelInformationItem.createInstance("Route target role", instance.routeTargetRole ? instance.routeTargetRole : null)] :
let expectedVNFInfo = [
ModelInformationItem.createInstance('Base module', false),
ModelInformationItem.createInstance('Min instances', "0"),
- ModelInformationItem.createInstance("Max instances", null),
+ ModelInformationItem.createInstance("Max instances", 'Unlimited (default)'),
ModelInformationItem.createInstance('Initial instances count',"0")
];
expect(actualVNFInfo).toEqual(expectedVNFInfo);
const modelInformation = !_.isEmpty(model) && !_.isEmpty(model.properties) ? [
ModelInformationItem.createInstance("Base module", model.properties.baseModule),
ModelInformationItem.createInstance("Min instances", !_.isNull(model.properties.minCountInstances) ? String(model.properties.minCountInstances) : null),
- ModelInformationItem.createInstance("Max instances", !_.isNull(model.properties.maxCountInstances) ? String(model.properties.maxCountInstances) : null),
+ this._sharedTreeService.createMaximumToInstantiateModelInformationItem(model),
ModelInformationItem.createInstance("Initial instances count", !_.isNull(model.properties.initialCount) ? String(model.properties.initialCount) : null)
] : [];
import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component";
import {VfModuleUpgradePopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service";
import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service";
-import {Constants} from "../../../../../shared/utils/constants";
export class VnfModelInfo implements ILevelNodeInfo {
constructor(private _dynamicInputsService: DynamicInputsService,
getInfo(model, instance): ModelInformationItem[] {
const modelInformation = !_.isEmpty(model) ? [
ModelInformationItem.createInstance("Min instances", !_.isNil(model.min) ? String(model.min) : null),
- ModelInformationItem.createInstance("Max instances", !_.isNil(model.max) ? String(model.max) :
- Constants.ModelInfo.UNLIMITED_DEFAULT)
+ this._sharedTreeService.createMaximumToInstantiateModelInformationItem(model)
] : [];
const instanceInfo = !_.isEmpty(instance) ? [
"type": instanceTypeMock
});
});
+ each([
+ ['undefined', 'Unlimited (default)', {}],
+ ['null', 'Unlimited (default)', {max:null}],
+ ['3', '3', {max:3}],
+ ]).
+ test("when there is %s max instances in model , shell return %s text", (desc, expected, model) =>{
+ expect(service.createMaximumToInstantiateModelInformationItem(model).values[0]).toBe(expected);
+ });
test('shouldShowDeleteInstanceWithChildrfenModal should not open modal if all childs with action None', () => {
let foo = () => {
import {VNFMethods} from "../../../shared/storeUtil/utils/vnf/vnf.actions";
import {FeatureFlagsService, Features} from "../../../shared/services/featureFlag/feature-flags.service";
import {Utils} from "../../../shared/utils/utils";
+import {Constants} from "../../../shared/utils/constants";
@Injectable()
export class SharedTreeService {
const modelInfoItemsWithoutEmpty = _.filter(modelInfoItems, function(item){ return !item.values.every(_.isNil)});
return new ComponentInfoModel(type, modelInfoItemsWithoutEmpty, [], instance != null);
}
+
+ createMaximumToInstantiateModelInformationItem(model): ModelInformationItem {
+ return ModelInformationItem.createInstance(
+ "Max instances",
+ !_.isNil(model.max) ? String(model.max) : Constants.ModelInfo.UNLIMITED_DEFAULT
+ );
+ }
}