Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

92 righe
2.5 KiB

  1. /* eslint-env mocha */
  2. import React from "react"
  3. import expect from "expect"
  4. import { mount, render } from "enzyme"
  5. import { fromJS } from "immutable"
  6. import SchemesContainer from "containers/schemes"
  7. import Schemes from "components/schemes"
  8. import { Col } from "components/layout-utils"
  9. describe("<SchemesContainer/>", function(){
  10. const components = {
  11. schemes: Schemes,
  12. Col,
  13. authorizeBtn: () => <span className="mocked-button" id="mocked-button" />
  14. }
  15. const mockedProps = {
  16. specSelectors: {
  17. securityDefinitions() {},
  18. operationScheme() {},
  19. schemes() {}
  20. },
  21. specActions: {
  22. setScheme() {}
  23. },
  24. getComponent: c => components[c]
  25. }
  26. const twoSecurityDefinitions = {
  27. "petstore_auth": {
  28. "type": "oauth2",
  29. "authorizationUrl": "http://petstore.swagger.io/oauth/dialog",
  30. "flow": "implicit",
  31. "scopes": {
  32. "write:pets": "modify pets in your account",
  33. "read:pets": "read your pets"
  34. }
  35. },
  36. "api_key": {
  37. "type": "apiKey",
  38. "name": "api_key",
  39. "in": "header"
  40. }
  41. }
  42. it("renders Schemes inside SchemesContainer if schemes are provided", function(){
  43. // Given
  44. let props = {...mockedProps}
  45. props.specSelectors = {...mockedProps.specSelectors}
  46. props.specSelectors.operationScheme = function() {return "http"}
  47. props.specSelectors.schemes = function() {return fromJS(["http", "https"])}
  48. // When
  49. let wrapper = mount(<SchemesContainer {...props}/>)
  50. // Then
  51. const renderedSchemes = wrapper.find(Schemes)
  52. expect(renderedSchemes.length).toEqual(1)
  53. })
  54. it("does not render Schemes inside SchemeWrapper if empty array of schemes is provided", function(){
  55. // Given
  56. let props = {...mockedProps}
  57. props.specSelectors = {...mockedProps.specSelectors}
  58. props.specSelectors.schemes = function() {return fromJS([])}
  59. // When
  60. let wrapper = mount(<SchemesContainer {...props}/>)
  61. // Then
  62. const renderedSchemes = wrapper.find(Schemes)
  63. expect(renderedSchemes.length).toEqual(0)
  64. })
  65. it("does not render Schemes inside SchemeWrapper if provided schemes are undefined", function(){
  66. // Given
  67. let props = {...mockedProps}
  68. props.specSelectors = {...mockedProps.specSelectors}
  69. props.specSelectors.schemes = function() {return undefined}
  70. // When
  71. let wrapper = mount(<SchemesContainer {...props}/>)
  72. // Then
  73. const renderedSchemes = wrapper.find(Schemes)
  74. expect(renderedSchemes.length).toEqual(0)
  75. })
  76. })