mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Prometheus: Prevents validation of inputs when clicking in them without changing the value (#21059)
Fixes #21056
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { getValueFromEventItem } from './PromSettings';
|
||||
import { getValueFromEventItem, promSettingsValidationEvents } from './PromSettings';
|
||||
import { EventsWithValidation } from '@grafana/ui';
|
||||
|
||||
describe('PromSettings', () => {
|
||||
describe('getValueFromEventItem', () => {
|
||||
@@ -25,4 +26,57 @@ describe('PromSettings', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('promSettingsValidationEvents', () => {
|
||||
const validationEvents = promSettingsValidationEvents;
|
||||
|
||||
it('should have one event handlers', () => {
|
||||
expect(Object.keys(validationEvents).length).toEqual(1);
|
||||
});
|
||||
|
||||
it('should have an onBlur handler', () => {
|
||||
expect(validationEvents.hasOwnProperty(EventsWithValidation.onBlur)).toBe(true);
|
||||
});
|
||||
|
||||
it('should have one rule', () => {
|
||||
expect(validationEvents[EventsWithValidation.onBlur].length).toEqual(1);
|
||||
});
|
||||
|
||||
describe('when calling the rule with an empty string', () => {
|
||||
it('then it should return true', () => {
|
||||
expect(validationEvents[EventsWithValidation.onBlur][0].rule('')).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
it.each`
|
||||
value | expected
|
||||
${'1ms'} | ${true}
|
||||
${'1M'} | ${true}
|
||||
${'1w'} | ${true}
|
||||
${'1d'} | ${true}
|
||||
${'1h'} | ${true}
|
||||
${'1m'} | ${true}
|
||||
${'1s'} | ${true}
|
||||
${'1y'} | ${true}
|
||||
`(
|
||||
"when calling the rule with correct formatted value: '$value' then result should be '$expected'",
|
||||
({ value, expected }) => {
|
||||
expect(validationEvents[EventsWithValidation.onBlur][0].rule(value)).toBe(expected);
|
||||
}
|
||||
);
|
||||
|
||||
it.each`
|
||||
value | expected
|
||||
${'1 ms'} | ${false}
|
||||
${'1x'} | ${false}
|
||||
${' '} | ${false}
|
||||
${'w'} | ${false}
|
||||
${'1.0s'} | ${false}
|
||||
`(
|
||||
"when calling the rule with incorrect formatted value: '$value' then result should be '$expected'",
|
||||
({ value, expected }) => {
|
||||
expect(validationEvents[EventsWithValidation.onBlur][0].rule(value)).toBe(expected);
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user