let $notNeeded;
let $controller;
let $changeManagementService;
+ let $featureFlags;
+
beforeEach(
angular.mock.module('app')
);
// mock q
$q = jestMock.fn();
$defer = jestMock.fn();
+ $flags = jestMock.fn();
+ $flags.FEATURE_FLAGS = {FLAG_HANDLE_SO_WORKFLOWS: ''};
+ $featureFlags = jestMock.fn();
+ $featureFlags.isOn = jestMock.fn(() => true);
$q.defer = jestMock.fn(() => $defer);
$defer.promise = Promise.resolve({});
// mock AaiService
Upload: $notNeeded,
$log: $notNeeded,
_: $notNeeded,
- COMPONENT: $notNeeded,
+ COMPONENT: $flags,
VIDCONFIGURATION: $notNeeded,
DataService: $notNeeded,
- featureFlags: $notNeeded,
+ featureFlags: $featureFlags,
$scope: $notNeeded,
});
}));
);
});
- test('Verify load workflows will call load from SO and join workflow lists', () => {
+ test('Verify load workflows wont load parameters from local service', () => {
// given
let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["workflow 0"]}});
- let getLocalWorkflowsParametersStub = Promise.resolve({"data": {}});
+ let getLocalWorkflowsParametersStub = Promise.resolve({"data":{
+ "parameterDefinitions": [
+ {
+ "id": 1,
+ "name": "Configuration Parameters",
+ "required": true,
+ "type": "STRING",
+ "pattern": ".*",
+ "msgOnPatternError": null,
+ "msgOnContentError": null,
+ "acceptableFileType": null
+ }
+ ],
+ }});
let getSOWorkflowsPromiseStub = Promise.resolve({"data": [{"id": "1", "name": "workflow 1"}, {"id": "2", "name": "workflow 2"}]});
let getSOWorkflowsParametersPromiseStub = Promise.resolve({"data":{"parameterDefinitions": []}});
$changeManagementService.getSOWorkflowParameter = () => getSOWorkflowsParametersPromiseStub;
// when
return $controller.loadWorkFlows().then(() => {
- expect($controller.workflows).toContain('workflow 0');
expect($controller.workflows).toContain('workflow 1');
expect($controller.workflows).toContain('workflow 2');
});
});
});
+ test('Verify load workflows wont load workflows parameters from SO if feature flag is disabled', () => {
+ // given
+ $featureFlags.isOn = jestMock.fn(() => false);
+ let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["workflow 0"]}});
+ let getLocalWorkflowsParametersStub = Promise.resolve({"data": {}});
+ let getSOWorkflowsPromiseStub = Promise.resolve({"data": [{"id": "1", "name": "workflow 0"}]});
+ let getSOWorkflowsParametersPromiseStub = Promise.resolve({"data":{"parameterDefinitions": [
+ {"id": 1, "name": "parameter 1", "required": true, "type": "STRING", "pattern": "[0-9]*"},
+ {"id": 2, "name": "parameter 2", "required": true, "type": "STRING", "pattern": ".*"},
+ {"id": 3, "name": "parameter 3", "required": false, "type": "STRING", "pattern": "[0-9]*"}]}});
+
+ $controller.changeManagement.vnfNames = [{name: 'test1'}, {name: "test2"}];
+ $changeManagementService.getWorkflows = () => getWorkflowsStub;
+ $changeManagementService.getLocalWorkflowParameter = () => getLocalWorkflowsParametersStub;
+ $changeManagementService.getSOWorkflows = () => getSOWorkflowsPromiseStub;
+ $changeManagementService.getSOWorkflowParameter = () => getSOWorkflowsParametersPromiseStub;
+ // when
+ return $controller.loadWorkFlows()
+ .then(() => {
+ expect($controller.workflows).toEqual(["workflow 0"]);
+ expect($controller.remoteWorkflowsParameters).toEqual(undefined);
+ });
+ });
+
test('Verify load workflows will call load workflows parameters from local service', () => {
// given
+ $featureFlags.isOn = jestMock.fn(() => false);
let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["VNF Scale Out"]}});
let getLocalWorkflowsParametersStub = Promise.resolve({"data":{
"parameterDefinitions": [
}
],
}});
- let getSOWorkflowsPromiseStub = Promise.resolve({"data": [{}]});
- let getSOWorkflowsParametersPromiseStub = Promise.resolve({"data":{}});
$controller.changeManagement.vnfNames = [{name: 'test1'}];
$changeManagementService.getWorkflows = () => getWorkflowsStub;
$changeManagementService.getLocalWorkflowParameter = () => getLocalWorkflowsParametersStub;
- $changeManagementService.getSOWorkflows = () => getSOWorkflowsPromiseStub;
- $changeManagementService.getSOWorkflowParameter = () => getSOWorkflowsParametersPromiseStub;
// when
let result = new Map();
});
});
- test('Verify broken SO workflows wont change content of local workflows', () => {
+ test('Verify broken SO workflows will return empty list of workflows', () => {
// given
- let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["workflow 0"]}});
let getSOWorkflowsPromiseStub = Promise.reject(new Error("Broken SO workflows service."));
- $controller.changeManagement.vnfNames = "any";
- $changeManagementService.getWorkflows = () => getWorkflowsStub;
+ $controller.changeManagement.vnfNames = [{name:"any"}];
$changeManagementService.getSOWorkflows = () => getSOWorkflowsPromiseStub;
// when
$controller.loadWorkFlows()
.then(() => {
- expect($controller.workflows).toEqual(['workflow 0']);
+ expect($controller.workflows).toEqual([]);
});
});
test('Verify get internal workflow parameters should return an empty list if not such workflow exist', () => {
// given
+ $featureFlags.isOn = jestMock.fn(() => false);
let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["VNF Scale Out"]}});
let getLocalWorkflowsParametersStub = Promise.resolve({"data":{
"parameterDefinitions": [
}
],
}});
- let getSOWorkflowsPromiseStub = Promise.resolve({"data": [{}]});
- let getSOWorkflowsParametersPromiseStub = Promise.resolve({"data":{}});
$controller.changeManagement.vnfNames = [{name: 'test1'}];
$changeManagementService.getWorkflows = () => getWorkflowsStub;
$changeManagementService.getLocalWorkflowParameter = () => getLocalWorkflowsParametersStub;
- $changeManagementService.getSOWorkflows = () => getSOWorkflowsPromiseStub;
- $changeManagementService.getSOWorkflowParameter = () => getSOWorkflowsParametersPromiseStub;
// when
return $controller.loadWorkFlows()
.then(() => {
test('Verify get internal workflow parameters should return an empty list if not such type exist', () => {
// given
+ $featureFlags.isOn = jestMock.fn(() => false);
let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["VNF Scale Out"]}});
let getLocalWorkflowsParametersStub = Promise.resolve({"data":{
"parameterDefinitions": [
}
],
}});
- let getSOWorkflowsPromiseStub = Promise.resolve({"data": [{}]});
- let getSOWorkflowsParametersPromiseStub = Promise.resolve({"data":{}});
$controller.changeManagement.vnfNames = [{name: 'test1'}];
$changeManagementService.getWorkflows = () => getWorkflowsStub;
$changeManagementService.getLocalWorkflowParameter = () => getLocalWorkflowsParametersStub;
- $changeManagementService.getSOWorkflows = () => getSOWorkflowsPromiseStub;
- $changeManagementService.getSOWorkflowParameter = () => getSOWorkflowsParametersPromiseStub;
// when
return $controller.loadWorkFlows()
.then(() => {
test('Verify get internal workflow parameters should return a list if such workflow and type exist', () => {
// given
+ $featureFlags.isOn = jestMock.fn(() => false);
let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["VNF Scale Out"]}});
let getLocalWorkflowsParametersStub = Promise.resolve({"data":{
"parameterDefinitions": [
}
],
}});
- let getSOWorkflowsPromiseStub = Promise.resolve({"data": [{}]});
- let getSOWorkflowsParametersPromiseStub = Promise.resolve({"data":{}});
-
$controller.changeManagement.vnfNames = [{name: 'test1'}];
$changeManagementService.getWorkflows = () => getWorkflowsStub;
$changeManagementService.getLocalWorkflowParameter = () => getLocalWorkflowsParametersStub;
- $changeManagementService.getSOWorkflows = () => getSOWorkflowsPromiseStub;
- $changeManagementService.getSOWorkflowParameter = () => getSOWorkflowsParametersPromiseStub;
let result = [{
"acceptableFileType": null,