in with the new

This commit is contained in:
Ron
2017-03-17 21:17:53 -07:00
parent bd8344c808
commit f22a628934
157 changed files with 12952 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
import expect, { createSpy } from "expect"
import { Map, List } from "immutable"
import { transform } from "corePlugins/err/error-transformers/transformers/not-of-type"
describe("err plugin - tranformers - not of type", () => {
it("should transform a singular not of type(s) error without an inline path", () => {
let ori = List([
Map({
path: "info.version",
message: "is not of a type(s) string"
})
])
let res = transform(ori).toJS()
expect(res).toEqual([{
path: "info.version",
message: "should be a string"
}])
})
it("should transform a plural (2) not of type(s) error without an inline path", () => {
let ori = List([
Map({
path: "info.version",
message: "is not of a type(s) string,array"
})
])
let res = transform(ori).toJS()
expect(res).toEqual([{
path: "info.version",
message: "should be a string or array"
}])
})
it("should transform a plural (3+) not of type(s) error without an inline path", () => {
let ori = List([
Map({
path: "info.version",
message: "is not of a type(s) string,array,number"
})
])
let res = transform(ori).toJS()
expect(res).toEqual([{
path: "info.version",
message: "should be a string, array, or number"
}])
})
})

View File

@@ -0,0 +1,131 @@
import expect, { createSpy } from "expect"
import { Map, List, fromJS } from "immutable"
import { transform } from "corePlugins/err/error-transformers/transformers/parameter-oneof"
describe.skip("err plugin - tranformers - parameter oneof", () => {
describe("parameter.in misuse transformation to fixed value error", () => {
it("should return a helpful error for invalid 'in' values", () => {
const jsSpec = {
paths: {
"/CoolPath/": {
get: {
parameters: [
{
name: "id",
in: "heder"
}
]
}
}
}
}
const jsonSchemaError = {
"level": "error",
"path": "paths.\/CoolPath\/.get.parameters[0]",
"message": "is not exactly one from <#\/definitions\/parameter>,<#\/definitions\/jsonReference>",
"source": "schema",
"type": "spec"
}
let res = transform(fromJS([jsonSchemaError]), { jsSpec })
expect(res.toJS()).toEqual([{
path: "paths./CoolPath/.get.parameters[0].in",
message: "Wrong value for the \"in\" keyword. Expected one of: path, query, header, body, formData.",
level: "error",
source: "schema",
type: "spec"
}])
})
})
describe("parameter.collectionFormat misuse transformation to fixed value error", () => {
it("should return a helpful error for invalid 'collectionFormat' values", () => {
const jsSpec = {
paths: {
"/CoolPath/": {
get: {
parameters: [
{
name: "id",
in: "query",
collectionFormat: "asdf"
}
]
}
}
}
}
const jsonSchemaError = {
"level": "error",
"path": "paths.\/CoolPath\/.get.parameters[0]",
"message": "is not exactly one from <#\/definitions\/parameter>,<#\/definitions\/jsonReference>",
"source": "schema",
"type": "spec"
}
let res = transform(fromJS([jsonSchemaError]), { jsSpec })
expect(res.toJS()).toEqual([{
path: "paths./CoolPath/.get.parameters[0].collectionFormat",
message: "Wrong value for the \"collectionFormat\" keyword. Expected one of: csv, ssv, tsv, pipes, multi.",
level: "error",
source: "schema",
type: "spec"
}])
})
})
describe("Integrations", () => {
it("should return the correct errors when both 'in' and 'collectionFormat' are incorrect", () => {
const jsSpec = {
paths: {
"/CoolPath/": {
get: {
parameters: [
{
name: "id",
in: "blah",
collectionFormat: "asdf"
}
]
}
}
}
}
const jsonSchemaError = {
"level": "error",
"path": "paths.\/CoolPath\/.get.parameters[0]",
"message": "is not exactly one from <#\/definitions\/parameter>,<#\/definitions\/jsonReference>",
"source": "schema",
"type": "spec"
}
let res = transform(fromJS([jsonSchemaError]), { jsSpec })
expect(res.toJS()).toEqual([
{
path: "paths./CoolPath/.get.parameters[0].in",
message: "Wrong value for the \"in\" keyword. Expected one of: path, query, header, body, formData.",
level: "error",
source: "schema",
type: "spec"
},
{
path: "paths./CoolPath/.get.parameters[0].collectionFormat",
message: "Wrong value for the \"collectionFormat\" keyword. Expected one of: csv, ssv, tsv, pipes, multi.",
level: "error",
source: "schema",
type: "spec"
}
])
})
})
})