@@ -22,6 +22,12 @@ export default class Execute extends Component { | |||||
this.props.onExecute() | this.props.onExecute() | ||||
} | } | ||||
specActions.execute( { operation, path, method } ) | specActions.execute( { operation, path, method } ) | ||||
} else { | |||||
// deferred by 40ms, to give element class change time to settle. | |||||
specActions.clearValidateParams( [path, method] ) | |||||
setTimeout(() => { | |||||
specActions.validateParams([path, method]) | |||||
}, 40) | |||||
} | } | ||||
} | } | ||||
@@ -118,9 +118,7 @@ export default class OperationContainer extends PureComponent { | |||||
} | } | ||||
onTryoutClick =() => { | onTryoutClick =() => { | ||||
let { specActions, path, method } = this.props | |||||
this.setState({tryItOutEnabled: !this.state.tryItOutEnabled}) | this.setState({tryItOutEnabled: !this.state.tryItOutEnabled}) | ||||
specActions.clearValidateParams([path, method]) | |||||
} | } | ||||
onExecute = () => { | onExecute = () => { | ||||
@@ -0,0 +1,32 @@ | |||||
describe("#5070: Required field not highlighted on click of Execute button (second time)", () => { | |||||
it("should not clear error class=invalid on input field (Swagger)", () => { | |||||
cy | |||||
.visit("/?url=/documents/petstore.swagger.yaml") | |||||
.get("#operations-pet-getPetById") | |||||
.click() | |||||
// Expand Try It Out | |||||
.get(".try-out__btn") | |||||
.click() | |||||
// Execute without user input | |||||
.get(".execute.opblock-control__btn") | |||||
.click() | |||||
.get(".parameters-col_description input") | |||||
.should($el => { | |||||
expect($el).to.have.length(1) | |||||
const className = $el[0].className | |||||
expect(className).to.match(/invalid/i) | |||||
}) | |||||
// Cancel Try It Out | |||||
.get(".cancel") | |||||
.click() | |||||
// Expand Try It Out (Again) | |||||
.get(".try-out__btn") | |||||
.click() | |||||
.get(".parameters-col_description input") | |||||
.should($el => { | |||||
expect($el).to.have.length(1) | |||||
const className = $el[0].className | |||||
expect(className).to.match(/invalid/i) | |||||
}) | |||||
}) | |||||
}) |