blob: b95e1ee283e4211eae5bc418a7bf98aa115099a2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import { transition } from '~/vue_shared/components/diff_viewer/utils';
import {
TRANSITION_LOAD_START,
TRANSITION_LOAD_ERROR,
TRANSITION_LOAD_SUCCEED,
TRANSITION_ACKNOWLEDGE_ERROR,
STATE_IDLING,
STATE_LOADING,
STATE_ERRORED,
} from '~/diffs/constants';
describe('transition', () => {
it.each`
state | transitionEvent | result
${'idle'} | ${TRANSITION_LOAD_START} | ${STATE_LOADING}
${'idle'} | ${TRANSITION_LOAD_ERROR} | ${STATE_IDLING}
${'idle'} | ${TRANSITION_LOAD_SUCCEED} | ${STATE_IDLING}
${'idle'} | ${TRANSITION_ACKNOWLEDGE_ERROR} | ${STATE_IDLING}
${'loading'} | ${TRANSITION_LOAD_START} | ${STATE_LOADING}
${'loading'} | ${TRANSITION_LOAD_ERROR} | ${STATE_ERRORED}
${'loading'} | ${TRANSITION_LOAD_SUCCEED} | ${STATE_IDLING}
${'loading'} | ${TRANSITION_ACKNOWLEDGE_ERROR} | ${STATE_LOADING}
${'errored'} | ${TRANSITION_LOAD_START} | ${STATE_LOADING}
${'errored'} | ${TRANSITION_LOAD_ERROR} | ${STATE_ERRORED}
${'errored'} | ${TRANSITION_LOAD_SUCCEED} | ${STATE_ERRORED}
${'errored'} | ${TRANSITION_ACKNOWLEDGE_ERROR} | ${STATE_IDLING}
`(
'correctly updates the state to "$result" when it starts as "$state" and the transition is "$transitionEvent"',
({ state, transitionEvent, result }) => {
expect(transition(state, transitionEvent)).toBe(result);
},
);
});
|