123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- import {DurationUnit, RateUnit, SizeUnit} from 'sentry/utils/discover/fields';
- import type {TimeseriesData} from '../common/types';
- import {scaleTimeSeriesData} from './scaleTimeSeriesData';
- describe('scaleTimeSeriesData', () => {
- describe('does not scale unscalable types', () => {
- const timeserie: TimeseriesData = {
- field: 'user',
- data: [
- {
- timestamp: '2025-01-01T00:00:00',
- value: 17,
- },
- ],
- meta: {
- fields: {
- user: 'string',
- },
- units: {
- user: null,
- },
- },
- };
- it.each([RateUnit.PER_MINUTE, DurationUnit.SECOND, SizeUnit.GIBIBYTE, null] as const)(
- 'Does not scale strings to %s',
- unit => {
- expect(scaleTimeSeriesData(timeserie, unit)).toEqual(timeserie);
- }
- );
- });
- it('does not scale duration units from second to gigabyte', () => {
- const timeserie: TimeseriesData = {
- field: 'transaction.duration',
- data: [
- {
- timestamp: '2025-01-01T00:00:00',
- value: 17,
- },
- ],
- meta: {
- fields: {
- 'transaction.duration': 'duration',
- },
- units: {
- 'transaction.duration': 'second',
- },
- },
- };
- expect(scaleTimeSeriesData(timeserie, SizeUnit.GIGABYTE)).toEqual(timeserie);
- });
- it('scales duration units from second to millisecond', () => {
- const timeserie: TimeseriesData = {
- field: 'transaction.duration',
- data: [
- {
- timestamp: '2025-01-01T00:00:00',
- value: 17,
- },
- ],
- meta: {
- fields: {
- 'transaction.duration': 'duration',
- },
- units: {
- 'transaction.duration': 'second',
- },
- },
- };
- expect(scaleTimeSeriesData(timeserie, DurationUnit.MILLISECOND)).toEqual({
- field: 'transaction.duration',
- data: [
- {
- timestamp: '2025-01-01T00:00:00',
- value: 17000,
- },
- ],
- meta: {
- fields: {
- 'transaction.duration': 'duration',
- },
- units: {
- 'transaction.duration': 'millisecond',
- },
- },
- });
- });
- it('scales size units from mebibyte to byte', () => {
- const timeserie: TimeseriesData = {
- field: 'file.size',
- data: [
- {
- timestamp: '2025-01-01T00:00:00',
- value: 17,
- },
- ],
- meta: {
- fields: {
- 'file.size': 'size',
- },
- units: {
- 'file.size': 'mebibyte',
- },
- },
- };
- expect(scaleTimeSeriesData(timeserie, SizeUnit.BYTE)).toEqual({
- field: 'file.size',
- data: [
- {
- timestamp: '2025-01-01T00:00:00',
- value: 17825792,
- },
- ],
- meta: {
- fields: {
- 'file.size': 'size',
- },
- units: {
- 'file.size': 'byte',
- },
- },
- });
- });
- });
|