chronograf/ui/test/shared/reducers/app.test.ts

51 lines
1.4 KiB
TypeScript

import appReducer from 'src/shared/reducers/app'
import {
enablePresentationMode,
disablePresentationMode,
setAutoRefresh,
toggleTemplateVariableControlBar,
} from 'src/shared/actions/app'
describe('Shared.Reducers.appReducer', () => {
const initialState = {
ephemeral: {
inPresentationMode: false,
},
persisted: {
autoRefresh: 0,
showTemplateVariableControlBar: false,
},
}
it('should handle ENABLE_PRESENTATION_MODE', () => {
const reducedState = appReducer(initialState, enablePresentationMode())
expect(reducedState.ephemeral.inPresentationMode).toBe(true)
})
it('should handle DISABLE_PRESENTATION_MODE', () => {
Object.assign(initialState, {ephemeral: {inPresentationMode: true}})
const reducedState = appReducer(initialState, disablePresentationMode())
expect(reducedState.ephemeral.inPresentationMode).toBe(false)
})
it('should handle SET_AUTOREFRESH', () => {
const expectedMs = 15000
const reducedState = appReducer(initialState, setAutoRefresh(expectedMs))
expect(reducedState.persisted.autoRefresh).toBe(expectedMs)
})
it('should handle TOGGLE_TEMPLATE_VARIABLE_CONTROL_BAR', () => {
const reducedState = appReducer(
initialState,
toggleTemplateVariableControlBar()
)
expect(reducedState.persisted.showTemplateVariableControlBar).toBe(true)
})
})