mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: Fix strict errors, down to 340 (#32109)
* Chore: reduces misc reducerTester strict issues * Chore: fixes various strict errors in reducer tests for ElasticSearch * Chore: lowers errors in AzureMonitor DataSource tests
This commit is contained in:
@@ -5,7 +5,7 @@ import { reducer } from './reducer';
|
||||
|
||||
describe('Filters Bucket Aggregation Settings Reducer', () => {
|
||||
it('Should correctly add new filter', () => {
|
||||
reducerTester()
|
||||
reducerTester<Filter[]>()
|
||||
.givenReducer(reducer, [])
|
||||
.whenActionIsDispatched(addFilter())
|
||||
.thenStatePredicateShouldEqual((state: Filter[]) => state.length === 1);
|
||||
@@ -22,7 +22,7 @@ describe('Filters Bucket Aggregation Settings Reducer', () => {
|
||||
query: '*',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<Filter[]>()
|
||||
.givenReducer(reducer, [firstFilter, secondFilter])
|
||||
.whenActionIsDispatched(removeFilter(0))
|
||||
.thenStateShouldEqual([secondFilter]);
|
||||
@@ -44,7 +44,7 @@ describe('Filters Bucket Aggregation Settings Reducer', () => {
|
||||
query: 'Changed query',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<Filter[]>()
|
||||
.givenReducer(reducer, [firstFilter, secondFilter])
|
||||
.whenActionIsDispatched(changeFilter(1, expectedSecondFilter))
|
||||
.thenStateShouldEqual([firstFilter, expectedSecondFilter]);
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
} from './actions';
|
||||
import { reducer } from './reducer';
|
||||
import { initQuery } from '../../state';
|
||||
import { ElasticsearchQuery } from 'app/plugins/datasource/elasticsearch/types';
|
||||
|
||||
describe('Bucket Aggregations Reducer', () => {
|
||||
it('Should correctly add new aggregations', () => {
|
||||
@@ -27,7 +28,7 @@ describe('Bucket Aggregations Reducer', () => {
|
||||
settings: bucketAggregationConfig['terms'].defaultSettings,
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['bucketAggs']>()
|
||||
.givenReducer(reducer, [])
|
||||
.whenActionIsDispatched(addBucketAggregation(firstAggregation.id))
|
||||
.thenStateShouldEqual([firstAggregation])
|
||||
@@ -46,7 +47,7 @@ describe('Bucket Aggregations Reducer', () => {
|
||||
type: 'date_histogram',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['bucketAggs']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(removeBucketAggregation(firstAggregation.id))
|
||||
.thenStateShouldEqual([secondAggregation]);
|
||||
@@ -68,7 +69,7 @@ describe('Bucket Aggregations Reducer', () => {
|
||||
settings: bucketAggregationConfig['histogram'].defaultSettings,
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['bucketAggs']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(changeBucketAggregationType(secondAggregation.id, expectedSecondAggregation.type))
|
||||
.thenStateShouldEqual([firstAggregation, expectedSecondAggregation]);
|
||||
@@ -89,7 +90,7 @@ describe('Bucket Aggregations Reducer', () => {
|
||||
field: 'new field',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['bucketAggs']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(changeBucketAggregationField(secondAggregation.id, expectedSecondAggregation.field))
|
||||
.thenStateShouldEqual([firstAggregation, expectedSecondAggregation]);
|
||||
@@ -104,17 +105,17 @@ describe('Bucket Aggregations Reducer', () => {
|
||||
},
|
||||
];
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['bucketAggs']>()
|
||||
.givenReducer(reducer, initialState)
|
||||
// If the new metric aggregation is `isSingleMetric` we should remove all bucket aggregations.
|
||||
.whenActionIsDispatched(changeMetricType('Some id', 'raw_data'))
|
||||
.thenStatePredicateShouldEqual((newState: BucketAggregation[]) => newState.length === 0)
|
||||
.thenStatePredicateShouldEqual((newState) => newState?.length === 0)
|
||||
// Switching back to another aggregation that is NOT `isSingleMetric` should bring back a bucket aggregation
|
||||
.whenActionIsDispatched(changeMetricType('Some id', 'max'))
|
||||
.thenStatePredicateShouldEqual((newState: BucketAggregation[]) => newState.length === 1)
|
||||
.thenStatePredicateShouldEqual((newState) => newState?.length === 1)
|
||||
// When none of the above is true state shouldn't change.
|
||||
.whenActionIsDispatched(changeMetricType('Some id', 'min'))
|
||||
.thenStatePredicateShouldEqual((newState: BucketAggregation[]) => newState.length === 1);
|
||||
.thenStatePredicateShouldEqual((newState) => newState?.length === 1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -135,7 +136,7 @@ describe('Bucket Aggregations Reducer', () => {
|
||||
min_doc_count: '1',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['bucketAggs']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(
|
||||
changeBucketAggregationSetting(firstAggregation, 'min_doc_count', expectedSettings.min_doc_count!)
|
||||
@@ -144,7 +145,7 @@ describe('Bucket Aggregations Reducer', () => {
|
||||
});
|
||||
|
||||
it('Should correctly initialize first Bucket Aggregation', () => {
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['bucketAggs']>()
|
||||
.givenReducer(reducer, [])
|
||||
.whenActionIsDispatched(initQuery())
|
||||
.thenStateShouldEqual([defaultBucketAgg('2')]);
|
||||
|
||||
@@ -15,7 +15,7 @@ describe('BucketScript Settings Reducer', () => {
|
||||
pipelineAgg: '',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<PipelineVariable[]>()
|
||||
.givenReducer(reducer, [])
|
||||
.whenActionIsDispatched(addPipelineVariable())
|
||||
.thenStateShouldEqual([expectedPipelineVar]);
|
||||
@@ -32,7 +32,7 @@ describe('BucketScript Settings Reducer', () => {
|
||||
pipelineAgg: '',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<PipelineVariable[]>()
|
||||
.givenReducer(reducer, [firstVar, secondVar])
|
||||
.whenActionIsDispatched(removePipelineVariable(0))
|
||||
.thenStateShouldEqual([secondVar]);
|
||||
@@ -54,7 +54,7 @@ describe('BucketScript Settings Reducer', () => {
|
||||
name: 'new name',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<PipelineVariable[]>()
|
||||
.givenReducer(reducer, [firstVar, secondVar])
|
||||
.whenActionIsDispatched(renamePipelineVariable(expectedSecondVar.name, 1))
|
||||
.thenStateShouldEqual([firstVar, expectedSecondVar]);
|
||||
@@ -76,7 +76,7 @@ describe('BucketScript Settings Reducer', () => {
|
||||
pipelineAgg: 'some new agg',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<PipelineVariable[]>()
|
||||
.givenReducer(reducer, [firstVar, secondVar])
|
||||
.whenActionIsDispatched(changePipelineVariableMetric(expectedSecondVar.pipelineAgg, 1))
|
||||
.thenStateShouldEqual([firstVar, expectedSecondVar]);
|
||||
@@ -94,7 +94,7 @@ describe('BucketScript Settings Reducer', () => {
|
||||
},
|
||||
];
|
||||
|
||||
reducerTester()
|
||||
reducerTester<PipelineVariable[]>()
|
||||
.givenReducer(reducer, initialState)
|
||||
.whenActionIsDispatched({ type: 'THIS ACTION SHOULD NOT HAVE ANY EFFECT IN THIS REDUCER' })
|
||||
.thenStateShouldEqual(initialState);
|
||||
|
||||
@@ -14,6 +14,7 @@ import { Derivative, ExtendedStats, MetricAggregation } from '../aggregations';
|
||||
import { defaultMetricAgg } from '../../../../query_def';
|
||||
import { metricAggregationConfig } from '../utils';
|
||||
import { initQuery } from '../../state';
|
||||
import { ElasticsearchQuery } from 'app/plugins/datasource/elasticsearch/types';
|
||||
|
||||
describe('Metric Aggregations Reducer', () => {
|
||||
it('should correctly add new aggregations', () => {
|
||||
@@ -26,7 +27,7 @@ describe('Metric Aggregations Reducer', () => {
|
||||
type: 'count',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, [])
|
||||
.whenActionIsDispatched(addMetric(firstAggregation.id))
|
||||
.thenStateShouldEqual([firstAggregation])
|
||||
@@ -45,7 +46,7 @@ describe('Metric Aggregations Reducer', () => {
|
||||
type: 'count',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(removeMetric(firstAggregation.id))
|
||||
.thenStateShouldEqual([secondAggregation]);
|
||||
@@ -54,7 +55,7 @@ describe('Metric Aggregations Reducer', () => {
|
||||
it('Should insert a default aggregation when the last one is removed', () => {
|
||||
const initialState: MetricAggregation[] = [{ id: '2', type: 'avg' }];
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, initialState)
|
||||
.whenActionIsDispatched(removeMetric(initialState[0].id))
|
||||
.thenStateShouldEqual([defaultMetricAgg()]);
|
||||
@@ -74,7 +75,7 @@ describe('Metric Aggregations Reducer', () => {
|
||||
|
||||
const expectedSecondAggregation: MetricAggregation = { ...secondAggregation, type: 'avg' };
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(changeMetricType(secondAggregation.id, expectedSecondAggregation.type))
|
||||
.thenStateShouldEqual([firstAggregation, { ...secondAggregation, type: expectedSecondAggregation.type }]);
|
||||
@@ -96,7 +97,7 @@ describe('Metric Aggregations Reducer', () => {
|
||||
...metricAggregationConfig['raw_data'].defaults,
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(changeMetricType(secondAggregation.id, expectedAggregation.type))
|
||||
.thenStateShouldEqual([expectedAggregation]);
|
||||
@@ -124,7 +125,7 @@ describe('Metric Aggregations Reducer', () => {
|
||||
field: 'new field',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
// When changing a a pipelineAggregation field we set both pipelineAgg and field
|
||||
.whenActionIsDispatched(changeMetricField(secondAggregation.id, expectedSecondAggregation.field))
|
||||
@@ -145,7 +146,7 @@ describe('Metric Aggregations Reducer', () => {
|
||||
type: 'count',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(toggleMetricVisibility(firstAggregation.id))
|
||||
.thenStateShouldEqual([{ ...firstAggregation, hide: true }, secondAggregation])
|
||||
@@ -170,7 +171,7 @@ describe('Metric Aggregations Reducer', () => {
|
||||
unit: 'Changed unit',
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(changeMetricSetting(firstAggregation, 'unit', expectedSettings.unit!))
|
||||
.thenStateShouldEqual([{ ...firstAggregation, settings: expectedSettings }, secondAggregation]);
|
||||
@@ -193,7 +194,7 @@ describe('Metric Aggregations Reducer', () => {
|
||||
avg: false,
|
||||
};
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(changeMetricMeta(firstAggregation, 'avg', expectedMeta.avg!))
|
||||
.thenStateShouldEqual([{ ...firstAggregation, meta: expectedMeta }, secondAggregation]);
|
||||
@@ -211,7 +212,7 @@ describe('Metric Aggregations Reducer', () => {
|
||||
|
||||
const expectedHide: typeof firstAggregation['hide'] = false;
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, [firstAggregation, secondAggregation])
|
||||
.whenActionIsDispatched(changeMetricAttribute(firstAggregation, 'hide', expectedHide))
|
||||
.thenStateShouldEqual([{ ...firstAggregation, hide: expectedHide }, secondAggregation]);
|
||||
@@ -225,14 +226,14 @@ describe('Metric Aggregations Reducer', () => {
|
||||
},
|
||||
];
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, initialState)
|
||||
.whenActionIsDispatched({ type: 'THIS ACTION SHOULD NOT HAVE ANY EFFECT IN THIS REDUCER' })
|
||||
.thenStateShouldEqual(initialState);
|
||||
});
|
||||
|
||||
it('Should correctly initialize first Metric Aggregation', () => {
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['metrics']>()
|
||||
.givenReducer(reducer, [])
|
||||
.whenActionIsDispatched(initQuery())
|
||||
.thenStateShouldEqual([defaultMetricAgg('1')]);
|
||||
|
||||
@@ -7,7 +7,7 @@ describe('Query Reducer', () => {
|
||||
it('Should maintain the previous `query` if present', () => {
|
||||
const initialQuery: ElasticsearchQuery['query'] = 'Some lucene query';
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['query']>()
|
||||
.givenReducer(queryReducer, initialQuery)
|
||||
.whenActionIsDispatched(initQuery())
|
||||
.thenStateShouldEqual(initialQuery);
|
||||
@@ -17,7 +17,7 @@ describe('Query Reducer', () => {
|
||||
const initialQuery: ElasticsearchQuery['query'] = undefined;
|
||||
const expectedQuery = '';
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['query']>()
|
||||
.givenReducer(queryReducer, initialQuery)
|
||||
.whenActionIsDispatched(initQuery())
|
||||
.thenStateShouldEqual(expectedQuery);
|
||||
@@ -27,7 +27,7 @@ describe('Query Reducer', () => {
|
||||
it('Should correctly set `query`', () => {
|
||||
const expectedQuery: ElasticsearchQuery['query'] = 'Some lucene query';
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['query']>()
|
||||
.givenReducer(queryReducer, '')
|
||||
.whenActionIsDispatched(changeQuery(expectedQuery))
|
||||
.thenStateShouldEqual(expectedQuery);
|
||||
@@ -36,7 +36,7 @@ describe('Query Reducer', () => {
|
||||
it('Should not change state with other action types', () => {
|
||||
const initialState: ElasticsearchQuery['query'] = 'Some lucene query';
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['query']>()
|
||||
.givenReducer(queryReducer, initialState)
|
||||
.whenActionIsDispatched({ type: 'THIS ACTION SHOULD NOT HAVE ANY EFFECT IN THIS REDUCER' })
|
||||
.thenStateShouldEqual(initialState);
|
||||
@@ -47,7 +47,7 @@ describe('Alias Pattern Reducer', () => {
|
||||
it('Should correctly set `alias`', () => {
|
||||
const expectedAlias: ElasticsearchQuery['alias'] = 'Some alias pattern';
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['query']>()
|
||||
.givenReducer(aliasPatternReducer, '')
|
||||
.whenActionIsDispatched(changeAliasPattern(expectedAlias))
|
||||
.thenStateShouldEqual(expectedAlias);
|
||||
@@ -56,7 +56,7 @@ describe('Alias Pattern Reducer', () => {
|
||||
it('Should not change state with other action types', () => {
|
||||
const initialState: ElasticsearchQuery['alias'] = 'Some alias pattern';
|
||||
|
||||
reducerTester()
|
||||
reducerTester<ElasticsearchQuery['query']>()
|
||||
.givenReducer(aliasPatternReducer, initialState)
|
||||
.whenActionIsDispatched({ type: 'THIS ACTION SHOULD NOT HAVE ANY EFFECT IN THIS REDUCER' })
|
||||
.thenStateShouldEqual(initialState);
|
||||
|
||||
Reference in New Issue
Block a user