/* eslint-env mocha */ import React from "react" import { List, fromJS } from "immutable" import expect, { createSpy } from "expect" import { render } from "enzyme" import ParameterRow from "components/parameter-row" describe("bug #4557: default parameter values", function(){ it("should apply a Swagger 2.0 default value", function(){ const paramValue = fromJS({ description: "a pet", type: "string", default: "MyDefaultValue" }) let props = { getComponent: ()=> "div", specSelectors: { security(){}, parameterWithMetaByIdentity(){ return paramValue }, isOAS3(){ return false }, isSwagger2(){ return true } }, fn: {}, operation: {get: ()=>{}}, onChange: createSpy(), param: paramValue, rawParam: paramValue, onChangeConsumes: () => {}, pathMethod: [], getConfigs: () => { return {} }, specPath: List([]) } render() expect(props.onChange).toHaveBeenCalled() expect(props.onChange).toHaveBeenCalledWith(paramValue, "MyDefaultValue", false) }) it("should apply an OpenAPI 3.0 default value", function(){ const paramValue = fromJS({ description: "a pet", schema: { type: "string", default: "MyDefaultValue" } }) let props = { getComponent: ()=> "div", specSelectors: { security(){}, parameterWithMetaByIdentity(){ return paramValue }, isOAS3(){ return true }, isSwagger2() { return false } }, fn: {}, operation: {get: ()=>{}}, onChange: createSpy(), param: paramValue, rawParam: paramValue, onChangeConsumes: () => {}, pathMethod: [], getConfigs: () => { return {} }, specPath: List([]) } render() expect(props.onChange).toHaveBeenCalled() expect(props.onChange).toHaveBeenCalledWith(paramValue, "MyDefaultValue", false) }) })