| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- import { reducerTester } from 'test/core/redux/reducerTester';
- import { dataSourcesReducer, initialState } from './reducers';
- import {
- dataSourcesLoaded,
- dataSourceLoaded,
- setDataSourcesSearchQuery,
- setDataSourcesLayoutMode,
- dataSourceTypesLoad,
- dataSourceTypesLoaded,
- setDataSourceTypeSearchQuery,
- dataSourceMetaLoaded,
- setDataSourceName,
- setIsDefault,
- } from './actions';
- import { getMockDataSources, getMockDataSource } from '../__mocks__/dataSourcesMocks';
- import { LayoutModes } from 'app/core/components/LayoutSelector/LayoutSelector';
- import { DataSourcesState } from 'app/types';
- import { PluginMetaInfo } from '@grafana/ui';
- const mockPlugin = () => ({
- defaultNavUrl: 'defaultNavUrl',
- enabled: true,
- hasUpdate: true,
- id: 'id',
- info: {} as PluginMetaInfo,
- latestVersion: 'latestVersion',
- name: 'name',
- pinned: true,
- state: 'state',
- type: 'type',
- module: {},
- });
- describe('dataSourcesReducer', () => {
- describe('when dataSourcesLoaded is dispatched', () => {
- it('then state should be correct', () => {
- const dataSources = getMockDataSources(0);
- reducerTester()
- .givenReducer(dataSourcesReducer, initialState)
- .whenActionIsDispatched(dataSourcesLoaded(dataSources))
- .thenStateShouldEqual({ ...initialState, hasFetched: true, dataSources, dataSourcesCount: 1 });
- });
- });
- describe('when dataSourceLoaded is dispatched', () => {
- it('then state should be correct', () => {
- const dataSource = getMockDataSource();
- reducerTester()
- .givenReducer(dataSourcesReducer, initialState)
- .whenActionIsDispatched(dataSourceLoaded(dataSource))
- .thenStateShouldEqual({ ...initialState, dataSource });
- });
- });
- describe('when setDataSourcesSearchQuery is dispatched', () => {
- it('then state should be correct', () => {
- reducerTester()
- .givenReducer(dataSourcesReducer, initialState)
- .whenActionIsDispatched(setDataSourcesSearchQuery('some query'))
- .thenStateShouldEqual({ ...initialState, searchQuery: 'some query' });
- });
- });
- describe('when setDataSourcesLayoutMode is dispatched', () => {
- it('then state should be correct', () => {
- const layoutMode: LayoutModes = LayoutModes.Grid;
- reducerTester()
- .givenReducer(dataSourcesReducer, initialState)
- .whenActionIsDispatched(setDataSourcesLayoutMode(layoutMode))
- .thenStateShouldEqual({ ...initialState, layoutMode: LayoutModes.Grid });
- });
- });
- describe('when dataSourceTypesLoad is dispatched', () => {
- it('then state should be correct', () => {
- const state: DataSourcesState = { ...initialState, dataSourceTypes: [mockPlugin()] };
- reducerTester()
- .givenReducer(dataSourcesReducer, state)
- .whenActionIsDispatched(dataSourceTypesLoad())
- .thenStateShouldEqual({ ...initialState, dataSourceTypes: [], isLoadingDataSources: true });
- });
- });
- describe('when dataSourceTypesLoaded is dispatched', () => {
- it('then state should be correct', () => {
- const dataSourceTypes = [mockPlugin()];
- const state: DataSourcesState = { ...initialState, isLoadingDataSources: true };
- reducerTester()
- .givenReducer(dataSourcesReducer, state)
- .whenActionIsDispatched(dataSourceTypesLoaded(dataSourceTypes))
- .thenStateShouldEqual({ ...initialState, dataSourceTypes, isLoadingDataSources: false });
- });
- });
- describe('when setDataSourceTypeSearchQuery is dispatched', () => {
- it('then state should be correct', () => {
- reducerTester()
- .givenReducer(dataSourcesReducer, initialState)
- .whenActionIsDispatched(setDataSourceTypeSearchQuery('type search query'))
- .thenStateShouldEqual({ ...initialState, dataSourceTypeSearchQuery: 'type search query' });
- });
- });
- describe('when dataSourceMetaLoaded is dispatched', () => {
- it('then state should be correct', () => {
- const dataSourceMeta = mockPlugin();
- reducerTester()
- .givenReducer(dataSourcesReducer, initialState)
- .whenActionIsDispatched(dataSourceMetaLoaded(dataSourceMeta))
- .thenStateShouldEqual({ ...initialState, dataSourceMeta });
- });
- });
- describe('when setDataSourceName is dispatched', () => {
- it('then state should be correct', () => {
- reducerTester()
- .givenReducer(dataSourcesReducer, initialState)
- .whenActionIsDispatched(setDataSourceName('some name'))
- .thenStateShouldEqual({ ...initialState, dataSource: { name: 'some name' } });
- });
- });
- describe('when setIsDefault is dispatched', () => {
- it('then state should be correct', () => {
- reducerTester()
- .givenReducer(dataSourcesReducer, initialState)
- .whenActionIsDispatched(setIsDefault(true))
- .thenStateShouldEqual({ ...initialState, dataSource: { isDefault: true } });
- });
- });
- });
|