Newer
Older
import { DataloadState, FluidType } from 'enums'
import { mount } from 'enzyme'
import toJson from 'enzyme-to-json'
import { Dataload } from 'models'
import { baseDataLoad } from 'tests/__mocks__/chartData.mock'
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(
<DataloadNoValue
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(
<DataloadNoValue
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(
<DataloadNoValue
dataload={_mockdataLoad}
fluidType={FluidType.MULTIFLUID}
setActive={mockSetActive}
/>
)
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(
<DataloadNoValue
fluidType={FluidType.ELECTRICITY}
setActive={mockSetActive}
/>
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
)
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)