Загрузка данных


import { render, screen } from '@testing-library/react';

import { BehaviorSubject } from 'rxjs';

import { ChartTooltip } from '@components/ChartTooltip';
import { TooltipVM } from '@core/Tooltip';

import { Defaults } from '@src/types/defaults';

import type { Timeframes, TooltipConfig } from '@src/types';

jest.mock('exchange-elements/v2', () => ({
  Divider: () => <hr data-testid="divider" />,
}));

jest.mock('@src/theme', () => ({
  getThemeStore: () => ({
    colors: {
      chartTooltipBackground: '#000000',
    },
  }),
}));

jest.mock('@src/utils', () => {
  const actual = jest.requireActual('@src/utils');

  return {
    ...actual,
    calcTooltipPosition: () => ({
      left: 10,
      top: 20,
    }),
    shouldShowTime: () => true,
    useObservable: (observable: { getValue: () => unknown }) => observable.getValue(),
  };
});

jest.mock('@src/utils/formatter', () => {
  const actual = jest.requireActual('@src/utils/formatter');

  return {
    ...actual,
    formatDate: () => '01.01.2026',
    formatDisplayText: (value: unknown) => (value === null || value === undefined ? '' : String(value)),
  };
});

const formatObs = new BehaviorSubject({
  dateFormat: Defaults.dateFormat,
  timeFormat: Defaults.timeFormat,
});

const timeframeObs = new BehaviorSubject('1m' as Timeframes);