[ADF-4572] Display value widget display issue when it has no value (#4943)

* [ADF-4572] Display value widget display issue  when it has no value
* Added readonly type to form-render

* Added unit test case

* * Fixed ee test

* * Updating tests to return textWidget for display value

* * Making changes to displayValueWidget css selector

* * Updated case to check display value from api
This commit is contained in:
mcchrys
2019-07-26 18:57:03 +05:30
committed by Maurizio Vitale
parent 479416861f
commit 795bdda4e4
5 changed files with 14 additions and 5 deletions

View File

@@ -146,11 +146,12 @@ describe('Form widgets', () => {
});
it('[C272783] Should display displayText and displayValue in form', () => {
expect(widget.displayTextWidget().getFieldLabel(appFields.displayText_id))
.toEqual(formInstance.getWidgetBy('id', appFields.displayText_id).value);
expect(widget.displayValueWidget().getFieldLabel(appFields.displayValue_id))
.toEqual(formInstance.getWidgetBy('id', appFields.displayValue_id).value || 'Unknown type: readonly');
.toEqual(formInstance.getWidgetBy('id', appFields.displayValue_id).value || 'Display value' || '');
expect(widget.displayValueWidget().getFieldValue(appFields.displayValue_id))
.toEqual(formInstance.getWidgetBy('id', appFields.displayValue_id).value || '');
});
it('[C272784] Should display typeahead and header in form', () => {

View File

@@ -20,7 +20,8 @@ import {
FormFieldModel,
FormFieldTypes,
UnknownWidgetComponent,
UploadWidgetComponent
UploadWidgetComponent,
TextWidgetComponent
} from './../components/widgets/index';
import { FormRenderingService } from './form-rendering.service';
@@ -55,6 +56,12 @@ describe('FormRenderingService', () => {
expect(type).toBe(UnknownWidgetComponent);
});
it('should resolve Text widget for readonly field type', () => {
const resolver = service.getComponentTypeResolver('readonly');
const type = resolver(null);
expect(type).toBe(TextWidgetComponent);
});
it('should fallback to default resolver when field type missing', () => {
const resolver = service.getComponentTypeResolver(null);
const type = resolver(null);

View File

@@ -58,6 +58,7 @@ export class FormRenderingService extends DynamicComponentMapper {
'radio-buttons': DynamicComponentResolver.fromType(RadioButtonsWidgetComponent),
'hyperlink': DynamicComponentResolver.fromType(HyperlinkWidgetComponent),
'readonly-text': DynamicComponentResolver.fromType(DisplayTextWidgetComponentComponent),
'readonly': DynamicComponentResolver.fromType(TextWidgetComponent),
'typeahead': DynamicComponentResolver.fromType(TypeaheadWidgetComponent),
'people': DynamicComponentResolver.fromType(PeopleWidgetComponent),
'functional-group': DynamicComponentResolver.fromType(FunctionalGroupWidgetComponent),

View File

@@ -21,7 +21,7 @@ import { by } from 'protractor';
export class DisplayValueWidget {
formFields = new FormFields();
labelLocator = by.css('span[class*="unknown-text"]');
labelLocator = by.css("label[class*='adf-label']");
inputLocator = by.css('input');
getFieldLabel(fieldId) {

View File

@@ -18,8 +18,8 @@
import { MultilineTextWidget } from './multilineTextWidget';
import { HeaderWidget } from './headerWidget';
import { DisplayTextWidget } from './displayTextWidget';
import { AttachFileWidget } from './attachFileWidget';
import { DisplayValueWidget } from './displayValueWidget';
import { AttachFileWidget } from './attachFileWidget';
import { RadioButtonsWidget } from './radioButtonsWidget';
import { HyperlinkWidget } from './hyperlinkWidget';
import { DropdownWidget } from './dropdownWidget';