12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import {getFields, mapErrors} from 'sentry/views/dashboards/widgetBuilder/utils';
- describe('WidgetBuilder utils', function () {
- describe('mapErrors', function () {
- it('able to handle string and string[] validation errors', () => {
- const flatValidation = mapErrors(
- {
- queries: [{fields: 'just a string'}],
- another: [{fields: ['another string']}],
- },
- {}
- );
- expect(flatValidation).toEqual({
- queries: [{fields: 'just a string'}],
- another: [{fields: 'another string'}],
- });
- });
- });
- describe('getFields', function () {
- it('splits simple fields by comma', function () {
- const testFieldsString = 'title,transaction';
- const actual = getFields(testFieldsString);
- expect(actual).toEqual(['title', 'transaction']);
- });
- it('splits aggregate fields by comma', function () {
- const testFieldsString = 'p75(),p95()';
- const actual = getFields(testFieldsString);
- expect(actual).toEqual(['p75()', 'p95()']);
- });
- it('does not split aggregates with inner commas', function () {
- const testFieldsString = 'p75(),count_if(transaction.duration,equal,200),p95()';
- const actual = getFields(testFieldsString);
- expect(actual).toEqual([
- 'p75()',
- 'count_if(transaction.duration,equal,200)',
- 'p95()',
- ]);
- });
- });
- });
|