|
|
@@ -0,0 +1,72 @@ |
|
|
|
/* eslint-env mocha */ |
|
|
|
import expect from "expect" |
|
|
|
import { fromJS } from "immutable" |
|
|
|
import reducer from "corePlugins/spec/reducers" |
|
|
|
|
|
|
|
describe("spec plugin - reducer", function(){ |
|
|
|
|
|
|
|
describe("update operation value", function() { |
|
|
|
it("should update the operation at the specified key", () => { |
|
|
|
const updateOperationValue = reducer["spec_update_operation_value"] |
|
|
|
|
|
|
|
const state = fromJS({ |
|
|
|
resolved: { |
|
|
|
"paths": { |
|
|
|
"/pet": { |
|
|
|
"post": { |
|
|
|
"description": "my operation" |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
let result = updateOperationValue(state, { |
|
|
|
payload: { |
|
|
|
path: ["/pet", "post"], |
|
|
|
value: "application/json", |
|
|
|
key: "consumes_value" |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
let expectedResult = { |
|
|
|
resolved: { |
|
|
|
"paths": { |
|
|
|
"/pet": { |
|
|
|
"post": { |
|
|
|
"description": "my operation", |
|
|
|
"consumes_value": "application/json" |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
expect(result.toJS()).toEqual(expectedResult) |
|
|
|
}) |
|
|
|
|
|
|
|
it("shouldn't throw an error if we try to update the consumes_value of a null operation", () => { |
|
|
|
const updateOperationValue = reducer["spec_update_operation_value"] |
|
|
|
|
|
|
|
const state = fromJS({ |
|
|
|
resolved: { |
|
|
|
"paths": { |
|
|
|
"/pet": { |
|
|
|
"post": null |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
let result = updateOperationValue(state, { |
|
|
|
payload: { |
|
|
|
path: ["/pet", "post"], |
|
|
|
value: "application/json", |
|
|
|
key: "consumes_value" |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
expect(result.toJS()).toEqual(state.toJS()) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |