未验证 提交 ff496fa5 编写于 作者: K kyle 提交者: GitHub

fix: type safety for operation summary handling (via #5191)

* fix: gracefully handle non-string operation summaries

* use lodash for more summary type safety
上级 1e184e8e
......@@ -2,6 +2,7 @@ import React, { PureComponent } from "react"
import PropTypes from "prop-types"
import { Iterable, List } from "immutable"
import ImPropTypes from "react-immutable-proptypes"
import toString from "lodash/toString"
export default class OperationSummary extends PureComponent {
......@@ -63,7 +64,7 @@ export default class OperationSummary extends PureComponent {
{!showSummary ? null :
<div className="opblock-summary-description">
{(resolvedSummary || summary).toString()}
{toString(resolvedSummary || summary)}
</div>
}
......
......@@ -8,10 +8,17 @@ paths:
/pet:
get:
tags:
- pet
- default
summary:
$ref:
operationId: addPet
whatever: 123
operationId: objectSummary
responses:
'405':
description: Invalid input
post:
tags:
- default
operationId: noSummary
responses:
'405':
description: Invalid input
\ No newline at end of file
......@@ -2,9 +2,17 @@ describe("#5188: non-string operation summary value", () => {
it("should gracefully handle an object value for an operation summary", () => {
cy
.visit("?url=/documents/bugs/5188.yaml")
.get("#operations-pet-addPet")
.get("#operations-default-objectSummary")
.click()
.get(".opblock-summary-description")
.contains("[object Object]")
})
it("should gracefully handle a missing value for an operation summary", () => {
cy
.visit("?url=/documents/bugs/5188.yaml")
.get("#operations-default-noSummary")
.click()
// check for response rendering; makes sure the Operation itself rendered
.contains("Invalid input")
})
})
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册