fix(json-schema-2020-12-samples): fix examples for nullable primitive types defined as list of types (#10390)
This commit is contained in:
@@ -67,7 +67,10 @@ export const foldType = (type) => {
|
|||||||
} else if (type.includes("object")) {
|
} else if (type.includes("object")) {
|
||||||
return "object"
|
return "object"
|
||||||
} else {
|
} else {
|
||||||
const pickedType = randomPick(type)
|
const notNullTypes = type.filter((t) => t !== "null")
|
||||||
|
const pickedType = randomPick(
|
||||||
|
notNullTypes.length > 0 ? notNullTypes : type
|
||||||
|
)
|
||||||
if (ALL_TYPES.includes(pickedType)) {
|
if (ALL_TYPES.includes(pickedType)) {
|
||||||
return pickedType
|
return pickedType
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -373,6 +373,20 @@ describe("sampleFromSchema", () => {
|
|||||||
expect(sampleFromSchema(definition)).toEqual(expected)
|
expect(sampleFromSchema(definition)).toEqual(expected)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("should handle nullable primitive types defined as list of types", function () {
|
||||||
|
const sample = (schema) => sampleFromSchema(fromJS(schema))
|
||||||
|
|
||||||
|
expect(sample({ type: ["string", "null"] })).toStrictEqual("string")
|
||||||
|
expect(sample({ type: ["null", "string"] })).toStrictEqual("string")
|
||||||
|
expect(sample({ type: ["number", "null"] })).toStrictEqual(0)
|
||||||
|
expect(sample({ type: ["null", "number"] })).toStrictEqual(0)
|
||||||
|
expect(sample({ type: ["integer", "null"] })).toStrictEqual(0)
|
||||||
|
expect(sample({ type: ["null", "integer"] })).toStrictEqual(0)
|
||||||
|
expect(sample({ type: ["boolean", "null"] })).toStrictEqual(true)
|
||||||
|
expect(sample({ type: ["null", "boolean"] })).toStrictEqual(true)
|
||||||
|
expect(sample({ type: ["null"] })).toStrictEqual(null)
|
||||||
|
})
|
||||||
|
|
||||||
it("should return const value", function () {
|
it("should return const value", function () {
|
||||||
const definition = fromJS({ const: 3 })
|
const definition = fromJS({ const: 3 })
|
||||||
const expected = 3
|
const expected = 3
|
||||||
|
|||||||
Reference in New Issue
Block a user