mirror of
https://github.com/grafana/grafana.git
synced 2025-02-14 01:23:32 -06:00
* Fixed issue with multi value. * Made some refactorings after feedback from Torkel and Hugo. * minor refactorings. * changed so we don't make the current value to array if multi is false. * added snapshot to contain v23. * Fixed so we always use the correct type when setting value for multi/non-multi. * added some more tests. * added tests. * some small adjustments after feedback
77 lines
1.8 KiB
TypeScript
77 lines
1.8 KiB
TypeScript
import { VariableOption } from 'app/features/templating/types';
|
|
import { alignCurrentWithMulti } from './multiOptions';
|
|
|
|
describe('alignCurrentWithMulti', () => {
|
|
describe('when current has string array values and multi is false', () => {
|
|
it('should return current without string arrays', () => {
|
|
const current: VariableOption = {
|
|
value: ['A'],
|
|
text: ['A'],
|
|
selected: false,
|
|
};
|
|
|
|
const next = alignCurrentWithMulti(current, false);
|
|
|
|
expect(next).toEqual({
|
|
value: 'A',
|
|
text: 'A',
|
|
selected: false,
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('when current has string values and multi is true', () => {
|
|
it('should return current with string arrays', () => {
|
|
const current: VariableOption = {
|
|
value: 'A',
|
|
text: 'A',
|
|
selected: false,
|
|
};
|
|
|
|
const next = alignCurrentWithMulti(current, true);
|
|
|
|
expect(next).toEqual({
|
|
value: ['A'],
|
|
text: ['A'],
|
|
selected: false,
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('when current has string values and multi is false', () => {
|
|
it('should return current without string arrays', () => {
|
|
const current: VariableOption = {
|
|
value: 'A',
|
|
text: 'A',
|
|
selected: false,
|
|
};
|
|
|
|
const next = alignCurrentWithMulti(current, false);
|
|
|
|
expect(next).toEqual({
|
|
value: 'A',
|
|
text: 'A',
|
|
selected: false,
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('when current has string array values and multi is true', () => {
|
|
it('should return current with string arrays', () => {
|
|
const current: VariableOption = {
|
|
value: ['A'],
|
|
text: ['A'],
|
|
selected: false,
|
|
};
|
|
|
|
const next = alignCurrentWithMulti(current, true);
|
|
|
|
expect(next).toEqual({
|
|
value: ['A'],
|
|
text: ['A'],
|
|
selected: false,
|
|
});
|
|
});
|
|
});
|
|
});
|