mirror of
https://github.com/grafana/grafana.git
synced 2025-02-09 06:56:07 -06:00
* Refactor: initial commit * Tests: updates tests * Tests: updates snapshots * Chore: updates after PR comments * Chore: renamed initVariablesBatch * Tests: adds transactionReducer tests * Chore: updates after PR comments * Refactor: renames cancelAllDataSourceRequests * Refactor: reduces cancellation complexity * Tests: adds tests for cancelAllInFlightRequests * Tests: adds initVariablesTransaction tests * Tests: adds tests for cleanUpVariables and cancelVariables * Always cleanup dashboard on unmount, even if init is in progress. Check if init phase has changed after services init is completed * fixed failing tests and added some more to test new scenario. Co-authored-by: Torkel Ödegaard <torkel@grafana.com> Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
62 lines
2.2 KiB
TypeScript
62 lines
2.2 KiB
TypeScript
import { reducerTester } from '../../../../test/core/redux/reducerTester';
|
|
import {
|
|
initialTransactionState,
|
|
transactionReducer,
|
|
TransactionStatus,
|
|
variablesClearTransaction,
|
|
variablesCompleteTransaction,
|
|
variablesInitTransaction,
|
|
} from './transactionReducer';
|
|
|
|
describe('transactionReducer', () => {
|
|
describe('when variablesInitTransaction is dispatched', () => {
|
|
it('then state should be correct', () => {
|
|
reducerTester()
|
|
.givenReducer(transactionReducer, { ...initialTransactionState })
|
|
.whenActionIsDispatched(variablesInitTransaction({ uid: 'a uid' }))
|
|
.thenStateShouldEqual({ ...initialTransactionState, uid: 'a uid', status: TransactionStatus.Fetching });
|
|
});
|
|
});
|
|
|
|
describe('when variablesCompleteTransaction is dispatched', () => {
|
|
describe('and transaction uid is the same', () => {
|
|
it('then state should be correct', () => {
|
|
reducerTester()
|
|
.givenReducer(transactionReducer, {
|
|
...initialTransactionState,
|
|
uid: 'before',
|
|
status: TransactionStatus.Fetching,
|
|
})
|
|
.whenActionIsDispatched(variablesCompleteTransaction({ uid: 'before' }))
|
|
.thenStateShouldEqual({ ...initialTransactionState, uid: 'before', status: TransactionStatus.Completed });
|
|
});
|
|
});
|
|
|
|
describe('and transaction uid is not the same', () => {
|
|
it('then state should be correct', () => {
|
|
reducerTester()
|
|
.givenReducer(transactionReducer, {
|
|
...initialTransactionState,
|
|
uid: 'before',
|
|
status: TransactionStatus.Fetching,
|
|
})
|
|
.whenActionIsDispatched(variablesCompleteTransaction({ uid: 'after' }))
|
|
.thenStateShouldEqual({ ...initialTransactionState, uid: 'before', status: TransactionStatus.Fetching });
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('when variablesClearTransaction is dispatched', () => {
|
|
it('then state should be correct', () => {
|
|
reducerTester()
|
|
.givenReducer(transactionReducer, {
|
|
...initialTransactionState,
|
|
uid: 'before',
|
|
status: TransactionStatus.Completed,
|
|
})
|
|
.whenActionIsDispatched(variablesClearTransaction())
|
|
.thenStateShouldEqual({ ...initialTransactionState });
|
|
});
|
|
});
|
|
});
|