12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- import {fitToValueRect, isInRect} from 'sentry/views/ddm/chartUtils';
- describe('isInRect', () => {
- const rect = {
- top: 0,
- left: 0,
- right: 10,
- bottom: 10,
- x: 0,
- y: 0,
- width: 10,
- height: 10,
- toJSON: () => {},
- };
- it('should return false if rect is undefined', () => {
- expect(isInRect(1, 2, undefined)).toBe(false);
- });
- it('should return true if point is within the rect', () => {
- expect(isInRect(5, 5, rect)).toBe(true);
- });
- it('should return false if point is outside the rect', () => {
- expect(isInRect(11, 11, rect)).toBe(false);
- });
- it('should return true if point is exactly on the border of the rect', () => {
- expect(isInRect(0, 0, rect)).toBe(true);
- expect(isInRect(10, 10, rect)).toBe(true);
- });
- });
- describe('fitToValueRect', () => {
- it('should return original x and y if rect is undefined', () => {
- const x = 5;
- const y = 10;
- const rect = undefined;
- const result = fitToValueRect(x, y, rect);
- expect(result).toEqual([x, y]);
- });
- it('should return original x and y if they are within the value rect', () => {
- const x = 5;
- const y = 10;
- const rect = {xMin: 0, xMax: 10, yMin: 0, yMax: 20};
- const result = fitToValueRect(x, y, rect);
- expect(result).toEqual([x, y]);
- });
- it('should return x as xMin if it is below the minimum xValue', () => {
- const x = -5;
- const y = 10;
- const rect = {xMin: 0, xMax: 10, yMin: 0, yMax: 20};
- const result = fitToValueRect(x, y, rect);
- expect(result).toEqual([rect.xMin, y]);
- });
- it('should return x as xMax if it is above the maximum xValue', () => {
- const x = 15;
- const y = 10;
- const rect = {xMin: 0, xMax: 10, yMin: 0, yMax: 20};
- const result = fitToValueRect(x, y, rect);
- expect(result).toEqual([rect.xMax, y]);
- });
- it('should return y as yMin if it is below the minimum yValue', () => {
- const x = 5;
- const y = -5;
- const rect = {xMin: 0, xMax: 10, yMin: 0, yMax: 20};
- const result = fitToValueRect(x, y, rect);
- expect(result).toEqual([x, rect.yMin]);
- });
- it('should return y as yMax if it is above the maximum yValue', () => {
- const x = 5;
- const y = 25;
- const rect = {xMin: 0, xMax: 10, yMin: 0, yMax: 20};
- const result = fitToValueRect(x, y, rect);
- expect(result).toEqual([x, rect.yMax]);
- });
- });
|