34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { resolveMaxCount, resolveTimelineHours } from '../lib/analytics';
|
|
|
|
describe('resolveMaxCount', () => {
|
|
it('defaults to 1 for empty input', () => {
|
|
expect(resolveMaxCount([])).toBe(1);
|
|
});
|
|
|
|
it('returns the highest count', () => {
|
|
expect(resolveMaxCount([2, 5, 3])).toBe(5);
|
|
});
|
|
|
|
it('never returns less than 1', () => {
|
|
expect(resolveMaxCount([0])).toBe(1);
|
|
});
|
|
});
|
|
|
|
describe('resolveTimelineHours', () => {
|
|
it('uses fallback when data is missing', () => {
|
|
expect(resolveTimelineHours([], 12)).toBe(12);
|
|
});
|
|
|
|
it('calculates rounded hours from timestamps', () => {
|
|
const start = new Date('2024-01-01T10:00:00Z').toISOString();
|
|
const end = new Date('2024-01-01T21:00:00Z').toISOString();
|
|
expect(resolveTimelineHours([start, end], 12)).toBe(11);
|
|
});
|
|
|
|
it('never returns less than 1', () => {
|
|
const start = new Date('2024-01-01T10:00:00Z').toISOString();
|
|
expect(resolveTimelineHours([start, start], 12)).toBe(1);
|
|
});
|
|
});
|