operation-tag.jsx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import React from "react"
  2. import { shallow } from "enzyme"
  3. import OperationTag from "components/operation-tag"
  4. import Im from "immutable"
  5. import { Link } from "components/layout-utils"
  6. describe("<OperationTag/>", function(){
  7. it("render externalDocs URL for swagger v2", function(){
  8. const dummyComponent = () => null
  9. const components = {
  10. Collapse: () => dummyComponent,
  11. Markdown: () => dummyComponent,
  12. DeepLink: () => dummyComponent,
  13. Link
  14. }
  15. let props = {
  16. tagObj: Im.fromJS({
  17. tagDetails: {
  18. externalDocs: {
  19. description: "Find out more",
  20. url: "http://swagger.io"
  21. }
  22. }
  23. }),
  24. tag: "testtag",
  25. getConfigs: () => ({}),
  26. getComponent: c => components[c],
  27. layoutSelectors: {
  28. currentFilter() {
  29. return null
  30. },
  31. isShown() {
  32. return true
  33. },
  34. show() {
  35. return true
  36. }
  37. }
  38. }
  39. let wrapper = shallow(<OperationTag {...props}/>)
  40. const opblockTag = wrapper.find(".opblock-tag")
  41. expect(opblockTag.length).toEqual(1)
  42. const renderedLink = wrapper.find("Link")
  43. expect(renderedLink.length).toEqual(1)
  44. expect(renderedLink.props().href).toEqual("http://swagger.io")
  45. })
  46. })