diff --git a/lib/api/machine/ConfigurationValues.ts b/lib/api/machine/ConfigurationValues.ts index 3662f0d81..6bf5b9f0a 100644 --- a/lib/api/machine/ConfigurationValues.ts +++ b/lib/api/machine/ConfigurationValues.ts @@ -54,7 +54,7 @@ export function validateConfigurationValues(config: any, options: ConfigurationV } else { switch (type) { case ConfigurationValueType.Number: - if (!Number.isNaN(value)) { + if (typeof value !== "number") { invalidValues.push(`${path} ${JSON.stringify(value)} is not a 'number'`); } break; diff --git a/test/api/mapping/ConfigureValues.test.ts b/test/api/machine/ConfigureValues.test.ts similarity index 93% rename from test/api/mapping/ConfigureValues.test.ts rename to test/api/machine/ConfigureValues.test.ts index 333644774..ff63dd0e0 100644 --- a/test/api/mapping/ConfigureValues.test.ts +++ b/test/api/machine/ConfigureValues.test.ts @@ -131,4 +131,15 @@ describe("validateConfigurationValues", () => { } done(); }); + + it("should validate value with correct number type", done => { + const config = { sdm: { test: 3 } }; + const requiredValues = [{ path: "sdm.test", type: ConfigurationValueType.Number }]; + try { + validateConfigurationValues(config, { requiredConfigurationValues: requiredValues }); + } catch (err) { + assert.fail(); + } + done(); + }); });