models.jsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import React from "react"
  2. import { shallow } from "enzyme"
  3. import { fromJS, Map } from "immutable"
  4. import Models from "components/models"
  5. import ModelCollapse from "components/model-collapse"
  6. import ModelComponent from "components/model-wrapper"
  7. describe("<Models/>", function(){
  8. const dummyComponent = () => null
  9. // Given
  10. let components = {
  11. Collapse: ModelCollapse,
  12. ModelWrapper: ModelComponent,
  13. JumpToPath: dummyComponent,
  14. }
  15. let props = {
  16. getComponent: (c) => {
  17. return components[c]
  18. },
  19. specSelectors: {
  20. isOAS3: () => false,
  21. specJson: () => Map(),
  22. definitions: function() {
  23. return fromJS({
  24. def1: {},
  25. def2: {}
  26. })
  27. },
  28. specResolvedSubtree: () => {}
  29. },
  30. layoutSelectors: {
  31. isShown: jest.fn()
  32. },
  33. layoutActions: {},
  34. getConfigs: () => ({
  35. docExpansion: "list",
  36. defaultModelsExpandDepth: 0
  37. })
  38. }
  39. it("passes defaultModelsExpandDepth to ModelWrapper", function(){
  40. // When
  41. let wrapper = shallow(<Models {...props}/>)
  42. // Then should render tabs
  43. expect(wrapper.find("ModelCollapse").length).toEqual(1)
  44. expect(wrapper.find("ModelWrapper").length).toBeGreaterThan(0)
  45. wrapper.find("ModelComponent").forEach((modelWrapper) => {
  46. expect(modelWrapper.props().expandDepth).toBe(0)
  47. })
  48. })
  49. })