Skip to content
Snippets Groups Projects
PartnerIssueModal.spec.tsx 1.83 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { render, screen } from '@testing-library/react'
    
    import { userEvent } from '@testing-library/user-event'
    
    import { FluidType } from 'enums'
    
    import React from 'react'
    import PartnerIssueModal from './PartnerIssueModal'
    
    
    const mockHandleClose = jest.fn()
    
    describe('PartnerIssueModal component', () => {
    
      it('should render correctly', () => {
    
        const { baseElement } = render(
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          <PartnerIssueModal
            open={true}
            handleCloseClick={mockHandleClose}
    
            issuedFluid={FluidType.ELECTRICITY}
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          />
    
        expect(screen.getByRole('dialog')).toBeInTheDocument()
        expect(baseElement).toMatchSnapshot()
    
      it('should render elec modal', () => {
    
        render(
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          <PartnerIssueModal
            open={true}
            handleCloseClick={mockHandleClose}
    
            issuedFluid={FluidType.ELECTRICITY}
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          />
    
        expect(
          screen.getByText('consumption.partner_issue_modal.error_connect_elec')
        ).toBeInTheDocument()
    
      })
      it('should render water modal', () => {
    
        render(
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          <PartnerIssueModal
            open={true}
            handleCloseClick={mockHandleClose}
    
            issuedFluid={FluidType.WATER}
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          />
    
        expect(
          screen.getByText('consumption.partner_issue_modal.error_connect_water')
        ).toBeInTheDocument()
    
      it('should close modal', async () => {
        render(
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          <PartnerIssueModal
            open={true}
            handleCloseClick={mockHandleClose}
    
            issuedFluid={FluidType.ELECTRICITY}
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          />
    
        await userEvent.click(
          screen.getByText('consumption.partner_issue_modal.ok')
        )
    
        expect(mockHandleClose).toHaveBeenCalled()
      })
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    
      it('should not be rendered', () => {
    
        render(
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          <PartnerIssueModal
            open={false}
            handleCloseClick={mockHandleClose}
    
            issuedFluid={FluidType.ELECTRICITY}
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
          />
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
        )
    
        expect(screen.queryByRole('dialog')).toBeFalsy()
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
      })