From 110bde92850763107f0dd211c20340de684189c1 Mon Sep 17 00:00:00 2001 From: Ivan Koop Date: Thu, 9 Jan 2025 11:32:48 -0300 Subject: [PATCH] Fix: v2-shims configToBlueprint not converting fields with type number --- .../src/plugins/config.to.blueprint.spec.ts | 17 +++++++++++++++++ .../v2-shims/src/plugins/config.to.blueprint.ts | 2 ++ .../v2-shims/src/types/settings.interface.ts | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/v2-shims/src/plugins/config.to.blueprint.spec.ts b/packages/v2-shims/src/plugins/config.to.blueprint.spec.ts index 0f615dfb..4d8291f4 100644 --- a/packages/v2-shims/src/plugins/config.to.blueprint.spec.ts +++ b/packages/v2-shims/src/plugins/config.to.blueprint.spec.ts @@ -132,5 +132,22 @@ describe('v2ConfigToBlueprint', () => { ]) }) + it('should convert number field type to number', async () => { + const input: ISettings = { + type: 'Sample', + fields: [ + { + key: 'sampleKey', + label: 'sampleLabel', + type: 'number', + }, + ], + }; + + const result = await configToBlueprint(input); + + expect(result.sheets[0].fields[0].type).toBe(PlatformTypes.Num); + }); + // You can also add negative tests, like testing how the function behaves with invalid input }) diff --git a/packages/v2-shims/src/plugins/config.to.blueprint.ts b/packages/v2-shims/src/plugins/config.to.blueprint.ts index 806eb71d..f59c261c 100644 --- a/packages/v2-shims/src/plugins/config.to.blueprint.ts +++ b/packages/v2-shims/src/plugins/config.to.blueprint.ts @@ -26,6 +26,8 @@ export const configToBlueprint = (schema: ISettings): BlueprintOutput => { if (field.type === 'select') { out.type = PlatformTypes.Enum out.config = { options: field.options } + } else if (field.type === 'number') { + out.type = PlatformTypes.Num; } } if (field.validators) { diff --git a/packages/v2-shims/src/types/settings.interface.ts b/packages/v2-shims/src/types/settings.interface.ts index 06a38fe5..7d6ec114 100644 --- a/packages/v2-shims/src/types/settings.interface.ts +++ b/packages/v2-shims/src/types/settings.interface.ts @@ -151,7 +151,7 @@ export interface IFieldBase { shortDescription?: string alternates?: string[] validators?: IValidator[] - type?: 'checkbox' | 'string' + type?: 'checkbox' | 'string' | 'number' sizeHint?: number }