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:
@@ -374,6 +374,9 @@ export function parameterValues(state, pathMethod, isXml) {
|
|||||||
let paramValues = operationWithMeta(state, ...pathMethod).get("parameters", List())
|
let paramValues = operationWithMeta(state, ...pathMethod).get("parameters", List())
|
||||||
return paramValues.reduce( (hash, p) => {
|
return paramValues.reduce( (hash, p) => {
|
||||||
let value = isXml && p.get("in") === "body" ? p.get("value_xml") : p.get("value")
|
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)
|
return hash.set(paramToIdentifier(p, { allowHashes: false }), value)
|
||||||
}, fromJS({}))
|
}, fromJS({}))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,7 +108,9 @@ describe("parameterValue", function(){
|
|||||||
get: {
|
get: {
|
||||||
parameters: [
|
parameters: [
|
||||||
{ name: "one", in: "query", value: 1},
|
{ 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
|
// Then
|
||||||
expect(paramValues.toJS()).toEqual({
|
expect(paramValues.toJS()).toEqual({
|
||||||
"query.one": 1,
|
"query.one": 1,
|
||||||
"query.two": "duos"
|
"query.two": "duos",
|
||||||
|
"query.three": ["v1","v2"],
|
||||||
|
"query.four": []
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user