mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* LibraryPanels: Prevents deletion of connected library panels * Refactor: adds the delete library panel modal * Chore: updates after PR comments
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { reducerTester } from '../../../../../test/core/redux/reducerTester';
|
|
import {
|
|
deleteLibraryPanelModalReducer,
|
|
DeleteLibraryPanelModalState,
|
|
initialDeleteLibraryPanelModalState,
|
|
searchCompleted,
|
|
} from './reducer';
|
|
import { LoadingState } from '@grafana/data';
|
|
|
|
describe('deleteLibraryPanelModalReducer', () => {
|
|
describe('when created', () => {
|
|
it('then initial state should be correct', () => {
|
|
reducerTester<DeleteLibraryPanelModalState>()
|
|
.givenReducer(deleteLibraryPanelModalReducer, initialDeleteLibraryPanelModalState)
|
|
.whenActionIsDispatched({ type: 'noop' })
|
|
.thenStateShouldEqual({
|
|
loadingState: LoadingState.Loading,
|
|
dashboardTitles: [],
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('when searchCompleted is dispatched', () => {
|
|
it('then state should be correct', () => {
|
|
const dashboards: any[] = [{ title: 'A' }, { title: 'B' }];
|
|
reducerTester<DeleteLibraryPanelModalState>()
|
|
.givenReducer(deleteLibraryPanelModalReducer, initialDeleteLibraryPanelModalState)
|
|
.whenActionIsDispatched(searchCompleted({ dashboards }))
|
|
.thenStateShouldEqual({
|
|
loadingState: LoadingState.Done,
|
|
dashboardTitles: ['A', 'B'],
|
|
});
|
|
});
|
|
});
|
|
});
|