mirror of
https://github.com/gitlabhq/gitlabhq.git
synced 2025-08-13 14:44:59 +00:00
34 lines
1.4 KiB
JavaScript
34 lines
1.4 KiB
JavaScript
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);
|
|
},
|
|
);
|
|
});
|