File size: 1,297 Bytes
cd8bd0a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { test } from "node:test";
import assert from "node:assert/strict";
import { formatAdaptiveTarget } from "../../../src/app/(dashboard)/dashboard/context/settings/adaptiveTargetLabel.ts";

test("formatAdaptiveTarget shows policy + computed target for reserve-output", () => {
  const label = formatAdaptiveTarget(
    { mode: "floor", policy: "reserve-output", outputReserve: 4096, safetyMargin: 1024, pct: 0.85, absoluteBudget: 0 },
    200000
  );
  assert.match(label, /reserve-output/);
  // 200000 − 4096 − 1024 = 194880; tolerate any digit-group separator (locale-dependent toLocaleString).
  assert.match(label, /194[.,\s ]?880|194880/);
});

test("formatAdaptiveTarget shows off when disabled", () => {
  const label = formatAdaptiveTarget(
    { mode: "off", policy: "reserve-output", outputReserve: 4096, safetyMargin: 1024, pct: 0.85, absoluteBudget: 0 },
    200000
  );
  assert.match(label, /off|disabled/i);
});

test("formatAdaptiveTarget reflects percentage policy target", () => {
  const label = formatAdaptiveTarget(
    { mode: "floor", policy: "percentage", outputReserve: 4096, safetyMargin: 1024, pct: 0.7, absoluteBudget: 0 },
    200000
  );
  assert.match(label, /percentage/);
  // 200000 × 0.7 = 140000
  assert.match(label, /140[.,\s ]?000|140000/);
});