Skip to content
Snippets Groups Projects
ExpiredConsentModal.spec.tsx 2.72 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { Button } from '@material-ui/core'
    
    import { FluidType } from 'enums'
    
    import { mount } from 'enzyme'
    import toJson from 'enzyme-to-json'
    
    import React from 'react'
    
    import * as storeHooks from 'store/hooks'
    
    import { fluidStatusConnectedData } from 'tests/__mocks__/fluidStatusData.mock'
    import { createMockEcolyoStore } from 'tests/__mocks__/store'
    
    import ExpiredConsentModal from './ExpiredConsentModal'
    
    const mockedNavigate = jest.fn()
    
    jest.mock('react-router-dom', () => ({
      ...jest.requireActual('react-router-dom'),
    
      useNavigate: () => mockedNavigate,
    
    const mockAppDispatch = jest.spyOn(storeHooks, 'useAppDispatch')
    
    const mockToggleModal = jest.fn()
    const mockHandleCloseClick = jest.fn()
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
      const store = createMockEcolyoStore()
    
        jest.clearAllMocks()
    
      it('should be rendered correctly', () => {
        const component = mount(
          <Provider store={store}>
            <ExpiredConsentModal
              open={true}
              handleCloseClick={jest.fn()}
              fluidType={FluidType.ELECTRICITY}
    
              toggleModal={mockToggleModal}
    
            />
          </Provider>
        )
        expect(toJson(component)).toMatchSnapshot()
      })
    
      it('should launch the update consent process for GRDF', () => {
    
        const component = mount(
          <Provider store={store}>
            <ExpiredConsentModal
              open={true}
              handleCloseClick={jest.fn()}
              fluidType={FluidType.GAS}
    
              toggleModal={mockToggleModal}
    
        component.find(Button).at(1).simulate('click')
    
        expect(mockAppDispatch).toHaveBeenCalledTimes(1)
    
        expect(mockedNavigate).toHaveBeenCalledTimes(1)
    
      it('should launch the update consent process for Enedis', () => {
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
        const store = createMockEcolyoStore({
          global: { fluidStatus: fluidStatusConnectedData },
        })
    
        const component = mount(
          <Provider store={store}>
            <ExpiredConsentModal
              open={true}
              handleCloseClick={jest.fn()}
              fluidType={FluidType.ELECTRICITY}
              toggleModal={mockToggleModal}
            />
          </Provider>
        )
        component.find(Button).at(1).simulate('click')
    
        expect(mockAppDispatch).toHaveBeenCalledTimes(1)
    
        expect(mockedNavigate).toHaveBeenCalledTimes(1)
    
      })
      it('should click on close modal', () => {
        const component = mount(
          <Provider store={store}>
            <ExpiredConsentModal
              open={true}
              handleCloseClick={mockHandleCloseClick}
              fluidType={FluidType.ELECTRICITY}
              toggleModal={mockToggleModal}
            />
          </Provider>
        )
        component.find(Button).at(0).simulate('click')
        expect(mockHandleCloseClick).toHaveBeenCalled()
      })