fix(spec): ignore empty string for multi-value parameter (#9511)

Refs #9266 
Refs #5176 

Co-authored-by: Julien Bourges <julien.bourges@actility.com>
Co-authored-by: Oliwia Rogala <oliwia.rogala@smartbear.com>
This commit is contained in:
Julien
2024-02-15 09:38:48 +01:00
committed by GitHub
parent f04a542489
commit 0ce05095af
2 changed files with 9 additions and 2 deletions

View File

@@ -374,6 +374,9 @@ export function parameterValues(state, pathMethod, isXml) {
let paramValues = operationWithMeta(state, ...pathMethod).get("parameters", List())
return paramValues.reduce( (hash, p) => {
let value = isXml && p.get("in") === "body" ? p.get("value_xml") : p.get("value")
if (List.isList(value)) {
value = value.filter(v => v !== "")
}
return hash.set(paramToIdentifier(p, { allowHashes: false }), value)
}, fromJS({}))
}

View File

@@ -108,7 +108,9 @@ describe("parameterValue", function(){
get: {
parameters: [
{ name: "one", in: "query", value: 1},
{ name: "two", in: "query", value: "duos"}
{ name: "two", in: "query", value: "duos"},
{ name: "three", in: "query", value: ["v1","","v2"]},
{ name: "four", in: "query", value: [""]}
]
}
}
@@ -122,7 +124,9 @@ describe("parameterValue", function(){
// Then
expect(paramValues.toJS()).toEqual({
"query.one": 1,
"query.two": "duos"
"query.two": "duos",
"query.three": ["v1","v2"],
"query.four": []
})
})