You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

52 line
1.2 KiB

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