Skip to content
Snippets Groups Projects
CustomPopupModal.spec.tsx 1.29 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { Button } from '@material-ui/core'
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    import { mount } from 'enzyme'
    import toJson from 'enzyme-to-json'
    
    import React from 'react'
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    import {
      mockCustomPopup,
      mockCustomPopupOff,
    
      mockCustomPopupOutdated,
    
    } from 'tests/__mocks__/customPopup.mock'
    
    import CustomPopupModal from './CustomPopupModal'
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    
    const mockHandleClose = jest.fn()
    
    describe('CustomPopupModal component', () => {
      const wrapper = mount(
        <CustomPopupModal
          customPopup={mockCustomPopup}
          handleCloseClick={mockHandleClose}
        />
      )
      it('should render correctly', () => {
        expect(toJson(wrapper)).toMatchSnapshot()
      })
    
      it('should close modal', () => {
        wrapper.find(Button).simulate('click')
        expect(mockHandleClose).toHaveBeenCalled()
      })
    
    
      it('should not be rendered, popup not enabled', () => {
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
        const wrapper = mount(
          <CustomPopupModal
            customPopup={mockCustomPopupOff}
            handleCloseClick={mockHandleClose}
          />
        )
        expect(wrapper.find('div.customPopupModal').exists()).toBeFalsy()
      })
    
    
      it('should not be rendered, popup outdated', () => {
        const wrapper = mount(
          <CustomPopupModal
            customPopup={mockCustomPopupOutdated}
            handleCloseClick={mockHandleClose}
          />
        )
        expect(wrapper.find('div.customPopupModal').exists()).toBeFalsy()
      })
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    })