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);