From 13cf466dddfea26f18a4ad3e063fcb2e0c5c327b Mon Sep 17 00:00:00 2001 From: AleksandrRogov Date: Mon, 3 Feb 2020 18:21:28 -0500 Subject: [PATCH] don't add quotes for Web API type parameters; fixes #65 --- lib/utilities/buildFunctionParameters.js | 2 +- tests/common-tests.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/utilities/buildFunctionParameters.js b/lib/utilities/buildFunctionParameters.js index 0796f2d..a5c3542 100644 --- a/lib/utilities/buildFunctionParameters.js +++ b/lib/utilities/buildFunctionParameters.js @@ -17,7 +17,7 @@ module.exports = function buildFunctionParameters(parameters) { if (value === null) continue; - if (typeof value === "string") { + if (typeof value === "string" && !value.startsWith("Microsoft.Dynamics.CRM")) { value = "'" + value + "'"; } //fix #45 diff --git a/tests/common-tests.js b/tests/common-tests.js index b2965cc..3bc70d4 100644 --- a/tests/common-tests.js +++ b/tests/common-tests.js @@ -35,6 +35,10 @@ describe("Utility.", function () { var result = Utility.buildFunctionParameters({ param1: { test1: "value", '@odata.type': 'account' } }); expect(result).to.equal("(param1=@p1)?@p1={\"test1\":\"value\",\"@odata.type\":\"account\"}"); }); + it("Microsoft.Dynamics.CRM namespace parameter", function(){ + var result = Utility.buildFunctionParameters({ param1: "Microsoft.Dynamics.CRM.Enum'Type'", param2: 2, param3: "value2" }); + expect(result).to.equal("(param1=@p1,param2=@p2,param3=@p3)?@p1=Microsoft.Dynamics.CRM.Enum'Type'&@p2=2&@p3='value2'"); + }); }); describe("getFetchXmlPagingCookie - ", function () {