api
This commit is contained in:
30
frontend/web/api-doc/test/components/highlight-code.jsx
Normal file
30
frontend/web/api-doc/test/components/highlight-code.jsx
Normal file
@ -0,0 +1,30 @@
|
||||
import React from "react"
|
||||
import expect from "expect"
|
||||
import { shallow } from "enzyme"
|
||||
import HighlightCode from "components/highlight-code"
|
||||
|
||||
const fakeGetConfigs = () => ({syntaxHighlight: {activated: true, theme: "agate"}})
|
||||
|
||||
describe("<HighlightCode />", () => {
|
||||
it("should render a Download button if downloadable", () => {
|
||||
const props = {downloadable: true, getConfigs: fakeGetConfigs }
|
||||
const wrapper = shallow(<HighlightCode {...props} />)
|
||||
expect(wrapper.find(".download-contents").length).toEqual(1)
|
||||
})
|
||||
|
||||
it("should render a Copy To Clipboard button if copyable", () => {
|
||||
const props = {canCopy: true, getConfigs: fakeGetConfigs }
|
||||
const wrapper = shallow(<HighlightCode {...props} />)
|
||||
expect(wrapper.find("CopyToClipboard").length).toEqual(1)
|
||||
})
|
||||
|
||||
it("should render values in a preformatted element", () => {
|
||||
const value = "test text"
|
||||
const props = {value: value, getConfigs: fakeGetConfigs}
|
||||
const wrapper = shallow(<HighlightCode {...props} />)
|
||||
const preTag = wrapper.find("pre")
|
||||
|
||||
expect(preTag.length).toEqual(1)
|
||||
expect(preTag.contains(value)).toEqual(true)
|
||||
})
|
||||
})
|
41
frontend/web/api-doc/test/components/response-body.jsx
Normal file
41
frontend/web/api-doc/test/components/response-body.jsx
Normal file
@ -0,0 +1,41 @@
|
||||
import React from "react"
|
||||
import expect from "expect"
|
||||
import { shallow } from "enzyme"
|
||||
import ResponseBody from "components/response-body"
|
||||
|
||||
describe("<ResponseBody />", function() {
|
||||
const highlightCodeComponent = () => null
|
||||
const components = {
|
||||
highlightCode: highlightCodeComponent
|
||||
}
|
||||
const props = {
|
||||
getComponent: c => components[c],
|
||||
}
|
||||
|
||||
it("renders ResponseBody as 'application/json'", function() {
|
||||
props.contentType = "application/json"
|
||||
props.content = "{\"key\": \"a test value\"}"
|
||||
const wrapper = shallow(<ResponseBody {...props}/>)
|
||||
expect(wrapper.find("highlightCodeComponent").length).toEqual(1)
|
||||
})
|
||||
|
||||
it("renders ResponseBody as 'text/html'", function() {
|
||||
props.contentType = "application/json"
|
||||
props.content = "<b>Result</b>"
|
||||
const wrapper = shallow(<ResponseBody {...props}/>)
|
||||
expect(wrapper.find("highlightCodeComponent").length).toEqual(1)
|
||||
})
|
||||
|
||||
it("renders ResponseBody as 'image/svg'", function() {
|
||||
props.contentType = "image/svg"
|
||||
const wrapper = shallow(<ResponseBody {...props}/>)
|
||||
expect(wrapper.find("highlightCodeComponent").length).toEqual(0)
|
||||
})
|
||||
|
||||
it("should render a copyable highlightCodeComponent for text types", function() {
|
||||
props.contentType = "text/plain"
|
||||
props.content = "test text"
|
||||
const wrapper = shallow(<ResponseBody {...props}/>)
|
||||
expect(wrapper.find("highlightCodeComponent[canCopy]").length).toEqual(1)
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user