fix: externalDocs url for tags when using swagger v2.0 (#6579)
* added operation tag test
This commit is contained in:
@@ -60,6 +60,8 @@ export default class OperationTag extends React.Component {
|
|||||||
let tagExternalDocsUrl
|
let tagExternalDocsUrl
|
||||||
if (isFunc(oas3Selectors) && isFunc(oas3Selectors.selectedServer)) {
|
if (isFunc(oas3Selectors) && isFunc(oas3Selectors.selectedServer)) {
|
||||||
tagExternalDocsUrl = buildUrl( rawTagExternalDocsUrl, specUrl, { selectedServer: oas3Selectors.selectedServer() } )
|
tagExternalDocsUrl = buildUrl( rawTagExternalDocsUrl, specUrl, { selectedServer: oas3Selectors.selectedServer() } )
|
||||||
|
} else {
|
||||||
|
tagExternalDocsUrl = rawTagExternalDocsUrl
|
||||||
}
|
}
|
||||||
|
|
||||||
let isShownKey = ["operations-tag", tag]
|
let isShownKey = ["operations-tag", tag]
|
||||||
|
|||||||
52
test/unit/components/operation-tag.jsx
Normal file
52
test/unit/components/operation-tag.jsx
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
import React from "react"
|
||||||
|
import { shallow } from "enzyme"
|
||||||
|
import OperationTag from "components/operation-tag"
|
||||||
|
import Im from "immutable"
|
||||||
|
import { Link } from "components/layout-utils"
|
||||||
|
|
||||||
|
describe("<OperationTag/>", function(){
|
||||||
|
it("render externalDocs URL for swagger v2", function(){
|
||||||
|
|
||||||
|
const dummyComponent = () => null
|
||||||
|
const components = {
|
||||||
|
Collapse: () => dummyComponent,
|
||||||
|
Markdown: () => dummyComponent,
|
||||||
|
DeepLink: () => dummyComponent,
|
||||||
|
Link
|
||||||
|
}
|
||||||
|
|
||||||
|
let props = {
|
||||||
|
tagObj: Im.fromJS({
|
||||||
|
tagDetails: {
|
||||||
|
externalDocs: {
|
||||||
|
description: "Find out more",
|
||||||
|
url: "http://swagger.io"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
tag: "testtag",
|
||||||
|
getConfigs: () => ({}),
|
||||||
|
getComponent: c => components[c],
|
||||||
|
layoutSelectors: {
|
||||||
|
currentFilter() {
|
||||||
|
return null
|
||||||
|
},
|
||||||
|
isShown() {
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
show() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let wrapper = shallow(<OperationTag {...props}/>)
|
||||||
|
|
||||||
|
const opblockTag = wrapper.find(".opblock-tag")
|
||||||
|
expect(opblockTag.length).toEqual(1)
|
||||||
|
|
||||||
|
const renderedLink = wrapper.find("Link")
|
||||||
|
expect(renderedLink.length).toEqual(1)
|
||||||
|
expect(renderedLink.props().href).toEqual("http://swagger.io")
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user