Files
2024-02-15 17:01:50 +00:00

37 lines
1.3 KiB
TypeScript

import {barColors, pickBarColor} from 'sentry/components/performance/waterfall/utils';
import {CHART_PALETTE} from 'sentry/constants/chartPalette';
describe('pickBarColor()', function () {
it('returns blue when undefined', function () {
expect(pickBarColor(undefined)).toEqual(barColors.default);
});
it('returns the predefined color when available', function () {
expect(pickBarColor('transaction')).toEqual(barColors.transaction);
});
it('returns blue when the string is too short', function () {
expect(pickBarColor('')).toEqual(barColors.default);
expect(pickBarColor('c')).toEqual(barColors.default);
});
it('returns a random color when no predefined option is available', function () {
const colorsAsArray = Object.keys(CHART_PALETTE).map(key => CHART_PALETTE[17][key]);
let randomColor = pickBarColor('a normal string');
expect(colorsAsArray).toContain(randomColor);
randomColor = pickBarColor('this is a rather long string, it is longer than most');
expect(colorsAsArray).toContain(randomColor);
randomColor = pickBarColor('.periods.period');
expect(colorsAsArray).toContain(randomColor);
randomColor = pickBarColor('!!!!!!!!!!!');
expect(colorsAsArray).toContain(randomColor);
randomColor = pickBarColor(' ');
expect(colorsAsArray).toContain(randomColor);
});
});