[ADF-4710] - adapt visibility condition to the new schema (#4884)

* [ADF-4710] - adapt new visibility condition schema

* [ADF-4710] - fix unit tests

* [ADF-4710] - support visibility for APS1 and APS2
This commit is contained in:
Silviu Popa
2019-07-11 19:07:27 +03:00
committed by Eugenio Romano
parent ffd4413335
commit 72b3a75a85
8 changed files with 2014 additions and 65 deletions

View File

@@ -25,20 +25,16 @@ import {
} from './../components/widgets/core/index';
import { TaskProcessVariableModel } from './../models/task-process-variable.model';
import { WidgetVisibilityModel } from './../models/widget-visibility.model';
import {
fakeFormJson,
complexVisibilityJsonVisible,
complexVisibilityJsonNotVisible,
fakeTaskProcessVariableModels,
formTest,
formValues
} from '../../mock';
import { WidgetVisibilityService } from './widget-visibility.service';
import { setupTestBed } from '../../testing/setupTestBed';
import { CoreModule } from '../../core.module';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { AlfrescoApiService } from '../../services/alfresco-api.service';
import { AlfrescoApiServiceMock } from '../../mock/alfresco-api.service.mock';
import { fakeTaskProcessVariableModels,
fakeFormJson, formTest,
formValues, complexVisibilityJsonVisible,
complexVisibilityJsonNotVisible } from 'core/mock/form/widget-visibility.service.mock';
declare let jasmine: any;
@@ -196,10 +192,10 @@ describe('WidgetVisibilityService', () => {
describe('should retrieve the process variables', () => {
const fakeFormWithField = new FormModel(fakeFormJson);
let visibilityObjTest: WidgetVisibilityModel;
const chainedVisibilityObj = new WidgetVisibilityModel();
const chainedVisibilityObj = new WidgetVisibilityModel({});
beforeEach(() => {
visibilityObjTest = new WidgetVisibilityModel();
visibilityObjTest = new WidgetVisibilityModel({});
});
it('should return the process variables for task', (done) => {
@@ -294,7 +290,7 @@ describe('WidgetVisibilityService', () => {
visibilityObjTest.leftFormFieldId = 'LEFT_FORM_FIELD_ID';
visibilityObjTest.operator = '!=';
visibilityObjTest.rightRestResponseId = 'TEST_VAR_2';
const isVisible = service.isFieldVisible(fakeFormWithField, visibilityObjTest);
const isVisible = service.isFieldVisible(fakeFormWithField, new WidgetVisibilityModel(visibilityObjTest));
expect(isVisible).toBeTruthy();
done();
@@ -459,7 +455,7 @@ describe('WidgetVisibilityService', () => {
expect(leftValue).toBe('value_2');
});
it('should return an empty string for a value that is not on variable or form', () => {
it('should return empty string for a value that is not on variable or form', () => {
const leftValue = service.getLeftValue(fakeFormWithField, visibilityObjTest);
expect(leftValue).toBe('');
@@ -943,9 +939,8 @@ describe('WidgetVisibilityService', () => {
});
it('should be able to analyze a complex visibility JSON false', () => {
const isVisible = service.isFieldVisible(complexVisibilityJsonNotVisibleModel,
complexVisibilityJsonNotVisible.formDefinition.fields[2].fields[2][0].visibilityCondition);
const formField = new FormFieldModel(complexVisibilityJsonNotVisibleModel, complexVisibilityJsonNotVisible.formDefinition.fields[2].fields[2][0]);
const isVisible = service.isFieldVisible(complexVisibilityJsonNotVisibleModel, new WidgetVisibilityModel(formField.visibilityCondition));
expect(isVisible).toBe(false);
});