Skip to content
Snippets Groups Projects
DataloadNoValue.spec.tsx 3.41 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { DataloadState, FluidType } from 'enums'
    
    import toJson from 'enzyme-to-json'
    import { Dataload } from 'models'
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    import React from 'react'
    
    import { baseDataLoad } from 'tests/__mocks__/chartData.mock'
    
    Bastien DUMONT's avatar
    Bastien DUMONT committed
    import DataloadNoValue from './DataloadNoValue'
    
    const mockSetActive = jest.fn()
    
    
    describe('DataloadNoValue component', () => {
    
      const mockDataload: Dataload = baseDataLoad
    
    
      it('should render correctly', () => {
        const wrapper = mount(
    
          <DataloadNoValue
            dataload={mockDataload}
            fluidType={FluidType.ELECTRICITY}
            setActive={mockSetActive}
          />
        )
        expect(toJson(wrapper)).toMatchSnapshot()
      })
    
      describe('should render correctly no data', () => {
        it('case state EMPTY', () => {
          const _mockdataLoad = { ...mockDataload, state: DataloadState.EMPTY }
          const wrapper = mount(
    
              dataload={_mockdataLoad}
    
              fluidType={FluidType.ELECTRICITY}
              setActive={mockSetActive}
            />
    
          )
          expect(wrapper.find('.dataloadvisualizer-value').text()).toBe(
            'consumption_visualizer.no_data'
          )
    
        it('case state HOLE', () => {
          const _mockdataLoad = { ...mockDataload, state: DataloadState.HOLE }
          const wrapper = mount(
    
              dataload={_mockdataLoad}
    
              fluidType={FluidType.ELECTRICITY}
              setActive={mockSetActive}
            />
    
          )
          expect(wrapper.find('.dataloadvisualizer-value').text()).toBe(
            'consumption_visualizer.no_data'
          )
    
        it('case state AGGREGATED_EMPTY', () => {
          const _mockdataLoad = {
            ...mockDataload,
            state: DataloadState.AGGREGATED_EMPTY,
          }
          const wrapper = mount(
    
              dataload={_mockdataLoad}
              fluidType={FluidType.MULTIFLUID}
    
          )
          expect(wrapper.find('.dataloadvisualizer-value').text()).toBe(
            'consumption_visualizer.no_data'
          )
    
      describe('should render correctly missing data', () => {
        it('case state MISSING', () => {
          const _mockdataLoad = { ...mockDataload, state: DataloadState.MISSING }
          const wrapper = mount(
    
              dataload={_mockdataLoad}
    
              fluidType={FluidType.ELECTRICITY}
              setActive={mockSetActive}
            />
    
          )
          expect(wrapper.find('.dataloadvisualizer-content').text()).toBe(
            'consumption_visualizer.missing_data'
          )
        })
        it('case state AGGREGATED_HOLE_OR_MISSING', () => {
          const _mockdataLoad = {
            ...mockDataload,
            state: DataloadState.AGGREGATED_HOLE_OR_MISSING,
          }
          const wrapper = mount(
            <DataloadNoValue
              dataload={_mockdataLoad}
              fluidType={FluidType.MULTIFLUID}
              setActive={mockSetActive}
            />
          )
          expect(wrapper.find('.dataloadvisualizer-content').text()).toBe(
            'consumption_visualizer.missing_data'
          )
        })
      })
    
      it('should call setActive when missing message is clicked', () => {
        const _mockdataLoad = { ...mockDataload, state: DataloadState.MISSING }
        const wrapper = mount(
          <DataloadNoValue
            dataload={_mockdataLoad}
            fluidType={FluidType.ELECTRICITY}
            setActive={mockSetActive}
          />
    
        wrapper.find('.dataloadvisualizer-content').simulate('click')
    
        expect(mockSetActive).toHaveBeenCalledWith(true)