import { describe, it, expect, vi } from 'vitest'
import { render } from '@testing-library/react'
import { Spread } from './spread'
import { Provider } from '../provider/widget-provider'
import type { SpreadWidgetData } from './types'
vi.mock('./spread-ui', () => ({
SpreadUI: ({
items,
formatter,
}: {
items: SpreadWidgetData
formatter?: (value: number) => string
}) => (
{items
.map(
(it) =>
`${formatter ? formatter(it.min) : it.min}â${formatter ? formatter(it.max) : it.max}`,
)
.join('|')}
),
}))
describe(' bridge', () => {
it('forwards data + formatter to SpreadUI', () => {
const data: SpreadWidgetData = [
{ min: 1, max: 9 },
{ min: 0, max: 10 },
]
const { getByTestId } = render(
`${n}k`}>
,
)
const ui = getByTestId('spread-ui')
expect(ui.dataset.count).toBe('2')
expect(ui.textContent).toBe('1kâ9k|0kâ10k')
})
it('renders zero items when data is null', () => {
const { getByTestId } = render(
,
)
expect(getByTestId('spread-ui').dataset.count).toBe('0')
})
})