[AAE-612] Support for Form Outcome Visibility Conditions (#5934)

This commit is contained in:
davidcanonieto
2020-07-30 17:05:10 +01:00
committed by GitHub
parent 0afbe36787
commit 1e692252a5
8 changed files with 101 additions and 12 deletions

View File

@@ -21,7 +21,8 @@ import {
FormFieldModel,
FormFieldTypes,
FormModel,
TabModel
TabModel,
FormOutcomeModel
} from './../components/widgets/core/index';
import { TaskProcessVariableModel } from './../models/task-process-variable.model';
import { WidgetVisibilityModel, WidgetTypeEnum } from './../models/widget-visibility.model';
@@ -31,7 +32,7 @@ import {
fakeFormJson, fakeTaskProcessVariableModels,
formTest, formValues, complexVisibilityJsonVisible,
nextConditionForm, complexVisibilityJsonNotVisible,
headerVisibilityCond } from 'core/mock/form/widget-visibility-cloud.service.mock';
headerVisibilityCond } from '../../mock/form/widget-visibility-cloud.service.mock';
import { CoreTestingModule } from '../../testing/core.testing.module';
import { TranslateModule } from '@ngx-translate/core';
@@ -672,6 +673,24 @@ describe('WidgetVisibilityCloudService', () => {
expect(fakeFormWithField.tabs[0].isVisible).toBeFalsy();
});
it('should refresh the visibility for Outcomes in forms', () => {
visibilityObjTest.leftType = WidgetTypeEnum.field;
visibilityObjTest.leftValue = 'FIELD_TEST';
visibilityObjTest.operator = '!=';
visibilityObjTest.rightValue = 'RIGHT_FORM_FIELD_VALUE';
const outcome = new FormOutcomeModel(fakeFormWithField, {
isSystem: false,
isSelected: false,
isVisible: true
});
outcome.visibilityCondition = visibilityObjTest;
fakeFormWithField.outcomes.push(outcome);
service.refreshVisibility(fakeFormWithField);
const outcomeIndex = fakeFormWithField.outcomes.length - 1;
expect(fakeFormWithField.outcomes[outcomeIndex].isVisible).toBeFalsy();
});
it('should use the form value to evaluate the visibility condition if the form value is defined', (done) => {
service.getTaskProcessVariable('9999').subscribe(
(res: TaskProcessVariableModel[]) => {