Make metrics reflect autoscaling policies (Refs #137)
CI / checks (push) Successful in 4m49s

This commit is contained in:
2026-10-10 14:48:52 -04:00
parent bd34c3c9e7
commit 33da4482a6
24 changed files with 1264 additions and 370 deletions
+9
View File
@@ -1,6 +1,7 @@
import { describe, expect, it } from 'vitest';
import {
compareMetricValues,
metricAverageLobbies,
metricDuration,
metricNumber,
metricPercent,
@@ -8,6 +9,14 @@ import {
} from '../../src/lib/ui/metrics.js';
describe('metric presentation', () => {
it('normalizes partial buckets by captured wall time and preserves unknown lobby counts', () => {
expect(metricAverageLobbies(14 * 24, 24)).toBe(14);
expect(metricAverageLobbies(14 * 0.5, 0.5)).toBe(14);
expect(metricAverageLobbies(12 + 2, 1)).toBe(14);
expect(metricAverageLobbies(0, 1)).toBe(0);
expect(metricAverageLobbies(0, 0)).toBeNull();
expect(metricAverageLobbies(4, Number.NaN)).toBeNull();
});
it('distinguishes unavailable evidence, zero, and tiny nonzero values', () => {
expect(metricPercent(0, 0)).toBe('—');
expect(metricPercent(0, 1)).toBe('0.0%');