1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { reduxTester } from '../../../../test/core/redux/reduxTester';
- import { variableAdapters } from '../adapters';
- import { getRootReducer, RootReducerType } from '../state/helpers';
- import { toKeyedAction } from '../state/keyedVariablesReducer';
- import { addVariable, setCurrentVariableValue } from '../state/sharedReducer';
- import { ConstantVariableModel, initialVariableModelState, VariableOption } from '../types';
- import { toKeyedVariableIdentifier, toVariablePayload } from '../utils';
- import { updateConstantVariableOptions } from './actions';
- import { createConstantVariableAdapter } from './adapter';
- import { createConstantOptionsFromQuery } from './reducer';
- describe('constant actions', () => {
- variableAdapters.setInit(() => [createConstantVariableAdapter()]);
- describe('when updateConstantVariableOptions is dispatched', () => {
- it('then correct actions are dispatched', async () => {
- const option: VariableOption = {
- value: 'A',
- text: 'A',
- selected: false,
- };
- const variable: ConstantVariableModel = {
- ...initialVariableModelState,
- id: '0',
- rootStateKey: 'key',
- index: 0,
- type: 'constant',
- name: 'Constant',
- current: {
- value: '',
- text: '',
- selected: false,
- },
- options: [],
- query: 'A',
- };
- const tester = await reduxTester<RootReducerType>()
- .givenRootReducer(getRootReducer())
- .whenActionIsDispatched(
- toKeyedAction('key', addVariable(toVariablePayload(variable, { global: false, index: 0, model: variable })))
- )
- .whenAsyncActionIsDispatched(updateConstantVariableOptions(toKeyedVariableIdentifier(variable)), true);
- tester.thenDispatchedActionsShouldEqual(
- toKeyedAction('key', createConstantOptionsFromQuery(toVariablePayload(variable))),
- toKeyedAction('key', setCurrentVariableValue(toVariablePayload(variable, { option })))
- );
- });
- });
- });
|