diff --git a/lib/core/form/services/form-rendering.service.spec.ts b/lib/core/form/services/form-rendering.service.spec.ts index 5f0a65ea4b..cf9b385c55 100644 --- a/lib/core/form/services/form-rendering.service.spec.ts +++ b/lib/core/form/services/form-rendering.service.spec.ts @@ -85,11 +85,12 @@ describe('FormRenderingService', () => { ).toThrowError('resolver is null or not defined'); }); - it('should fail overriding existing resolver without explicit flag', () => { + it('should fail overriding existing resolver with explicit flag', () => { expect( () => service.setComponentTypeResolver( FormFieldTypes.TEXT, - DynamicComponentResolver.fromType(UnknownWidgetComponent) + DynamicComponentResolver.fromType(UnknownWidgetComponent), + false ) ).toThrowError('already mapped, use override option if you intend replacing existing mapping.'); }); @@ -100,6 +101,12 @@ describe('FormRenderingService', () => { expect(service.getComponentTypeResolver(FormFieldTypes.TEXT)).toBe(customResolver); }); + it('should override existing resolver without explicit flag', () => { + let customResolver = DynamicComponentResolver.fromType(UnknownWidgetComponent); + service.setComponentTypeResolver(FormFieldTypes.TEXT, customResolver); + expect(service.getComponentTypeResolver(FormFieldTypes.TEXT)).toBe(customResolver); + }); + it('should return default value when resolving with no field', () => { expect(service.resolveComponentType(null)).toBe(UnknownWidgetComponent); }); diff --git a/lib/core/services/dynamic-component-mapper.service.ts b/lib/core/services/dynamic-component-mapper.service.ts index b304a4c2f5..63c86bea5e 100644 --- a/lib/core/services/dynamic-component-mapper.service.ts +++ b/lib/core/services/dynamic-component-mapper.service.ts @@ -50,7 +50,7 @@ export abstract class DynamicComponentMapper { * @param resolver The new resolver function * @param override The new resolver will only replace an existing one if this parameter is true */ - setComponentTypeResolver(type: string, resolver: DynamicComponentResolveFunction, override: boolean = false) { + setComponentTypeResolver(type: string, resolver: DynamicComponentResolveFunction, override: boolean = true) { if (!type) { throw new Error(`type is null or not defined`); }