/* 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()) }) }) })