Bläddra i källkod

fix: externalDocs url for tags when using swagger v2.0 (#6579)

* added operation tag test
bubble
dalbrx-forcam 3 år sedan
committed by GitHub
förälder
incheckning
6db4def00a
Ingen känd nyckel hittad för denna signaturen i databasen GPG-nyckel ID: 4AEE18F83AFDEB23
2 ändrade filer med 55 tillägg och 1 borttagningar
  1. +3
    -1
      src/core/components/operation-tag.jsx
  2. +52
    -0
      test/unit/components/operation-tag.jsx

+ 3
- 1
src/core/components/operation-tag.jsx Visa fil

@@ -60,7 +60,9 @@ export default class OperationTag extends React.Component {
let tagExternalDocsUrl
if (isFunc(oas3Selectors) && isFunc(oas3Selectors.selectedServer)) {
tagExternalDocsUrl = buildUrl( rawTagExternalDocsUrl, specUrl, { selectedServer: oas3Selectors.selectedServer() } )
}
} else {
tagExternalDocsUrl = rawTagExternalDocsUrl
}

let isShownKey = ["operations-tag", tag]
let showTag = layoutSelectors.isShown(isShownKey, docExpansion === "full" || docExpansion === "list")


+ 52
- 0
test/unit/components/operation-tag.jsx Visa fil

@@ -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")
})
})

Laddar…
Avbryt
Spara