import { describe, expect, it } from 'vitest'; import { generateSampleSeries, validateChartSeries, resolveChartSeries, chartSeriesDelta, chartSeriesPeak, } from './chartSampleData'; describe('chartSampleData', () => { const kinds = ['hashrate', 'accept', 'cpu', 'mem', 'gpu'] as const; it.each(kinds)('generateSampleSeries(%s) validates', (kind) => { const series = generateSampleSeries(kind, 48); expect(series).toHaveLength(48); const v = validateChartSeries(series); expect(v.ok, v.errors.join('; ')).toBe(true); expect(chartSeriesPeak(series)).toBeGreaterThan(0); }); it('resolveChartSeries returns empty when live is empty', () => { const { data, mode } = resolveChartSeries([]); expect(mode).toBe('empty'); expect(data).toHaveLength(0); }); it('resolveChartSeries returns live slice when data exists', () => { const live = generateSampleSeries('cpu', 20); const { data, mode } = resolveChartSeries(live); expect(mode).toBe('live'); expect(data.length).toBe(20); }); it('chartSeriesDelta computes trend', () => { const series = generateSampleSeries('hashrate', 48); const delta = chartSeriesDelta(series); expect(delta).not.toBeNull(); expect(delta!).toBeGreaterThan(0); }); });