fix: <Select disabled> for type: string + enum schemas (#5601)

* fix: pass `disabled` through JsonSchemaForm – JsonSchema_string – Select

* migrate 5452 regression test
This commit is contained in:
kyle
2019-09-10 22:08:03 -07:00
committed by GitHub
parent f523ec40f0
commit 85f2bf3688
3 changed files with 26 additions and 0 deletions

View File

@@ -78,6 +78,7 @@ export class JsonSchema_string extends Component {
allowedValues={ enumValue } allowedValues={ enumValue }
value={ value } value={ value }
allowEmptyValue={ !required } allowEmptyValue={ !required }
disabled={disabled}
onChange={ this.onEnumChange }/>) onChange={ this.onEnumChange }/>)
} }

View File

@@ -8,6 +8,8 @@ describe("#5452: <Select /> crashing in Parameters", function() {
cy.visit("http://localhost:3230/?url=/documents/bugs/5452/openapi.yaml") cy.visit("http://localhost:3230/?url=/documents/bugs/5452/openapi.yaml")
.get("#operations-default-get_endpoint") .get("#operations-default-get_endpoint")
.click() .click()
.get(".try-out__btn")
.click()
.get(".parameters > tbody > tr > .parameters-col_description > select") .get(".parameters > tbody > tr > .parameters-col_description > select")
.select("") .select("")
.get(".parameters > tbody > tr > .parameters-col_description > select") .get(".parameters > tbody > tr > .parameters-col_description > select")
@@ -22,6 +24,8 @@ describe("#5452: <Select /> crashing in Parameters", function() {
cy.visit("http://localhost:3230/?url=/documents/bugs/5452/swagger.yaml") cy.visit("http://localhost:3230/?url=/documents/bugs/5452/swagger.yaml")
.get("#operations-default-get_endpoint") .get("#operations-default-get_endpoint")
.click() .click()
.get(".try-out__btn")
.click()
.get(".parameters > tbody > tr > .parameters-col_description > select") .get(".parameters > tbody > tr > .parameters-col_description > select")
.select("") .select("")
.get(".parameters > tbody > tr > .parameters-col_description > select") .get(".parameters > tbody > tr > .parameters-col_description > select")

View File

@@ -40,6 +40,27 @@ describe("<JsonSchemaForm/>", function(){
expect(wrapper.find("select option").eq(2).text()).toEqual("two") expect(wrapper.find("select option").eq(2).text()).toEqual("two")
}) })
it("should render a string enum as disabled when JsonSchemaForm is disabled", function(){
let props = {
getComponent: getComponentStub,
value: "",
onChange: () => {},
keyName: "",
fn: {},
schema: {
type: "string",
enum: ["one", "two"]
},
disabled: true
}
let wrapper = render(<JsonSchemaForm {...props}/>)
expect(wrapper.find("select").attr("disabled")).toEqual("disabled")
})
it("should render the correct options for a required string enum parameter", function(){ it("should render the correct options for a required string enum parameter", function(){
let props = { let props = {