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.
 
 
 
 

66 lines
1.7 KiB

  1. /* eslint-env mocha */
  2. import React from "react"
  3. import expect from "expect"
  4. import { mount } from "enzyme"
  5. import FilterContainer from "containers/filter"
  6. import { Col } from "components/layout-utils"
  7. describe("<FilterContainer/>", function(){
  8. const mockedProps = {
  9. specSelectors: {
  10. loadingStatus() {}
  11. },
  12. layoutSelectors: {
  13. currentFilter() {}
  14. },
  15. getComponent: () => {return Col}
  16. }
  17. it("renders FilterContainer if filter is provided", function(){
  18. // Given
  19. let props = {...mockedProps}
  20. props.layoutSelectors = {...mockedProps.specSelectors}
  21. props.layoutSelectors.currentFilter = function() {return true}
  22. // When
  23. let wrapper = mount(<FilterContainer {...props}/>)
  24. // Then
  25. const renderedColInsideFilter = wrapper.find(Col)
  26. expect(renderedColInsideFilter.length).toEqual(1)
  27. })
  28. it("does not render FilterContainer if filter is null", function(){
  29. // Given
  30. let props = {...mockedProps}
  31. props.layoutSelectors = {...mockedProps.specSelectors}
  32. props.layoutSelectors.currentFilter = function() {return null}
  33. // When
  34. let wrapper = mount(<FilterContainer {...props}/>)
  35. // Then
  36. const renderedColInsideFilter = wrapper.find(Col)
  37. expect(renderedColInsideFilter.length).toEqual(0)
  38. })
  39. it("does not render FilterContainer if filter is false", function(){
  40. // Given
  41. let props = {...mockedProps}
  42. props.layoutSelectors = {...mockedProps.specSelectors}
  43. props.layoutSelectors.currentFilter = function() {return false}
  44. // When
  45. let wrapper = mount(<FilterContainer {...props}/>)
  46. // Then
  47. const renderedColInsideFilter = wrapper.find(Col)
  48. expect(renderedColInsideFilter.length).toEqual(0)
  49. })
  50. })