import type { HostPowerSnapshot } from "@t3tools/contracts";import { describe, expect, it } from "@effect/vitest";import * as DateTime from "effect/DateTime"; import { resolveNativeSampleIntervalMs } from "./NativeTelemetryClient.ts"; const basePower: HostPowerSnapshot = { source: "electron-main", idle: "false", idleSeconds: 0, locked: "false", suspended: false, onBattery: "false", lowPowerMode: "false", thermalState: "nominal", stale: false, updatedAt: DateTime.makeUnsafe("2026-06-17T12:00:00.000Z"),}; describe("resolveNativeSampleIntervalMs", () => { it("pauses while suspended and backs off under host constraints", () => { expect(resolveNativeSampleIntervalMs({ ...basePower, suspended: true }, 1)).toBe(0); expect(resolveNativeSampleIntervalMs({ ...basePower, locked: "true" }, 1)).toBe(15_000); expect(resolveNativeSampleIntervalMs({ ...basePower, lowPowerMode: "true" }, 1)).toBe(15_000); expect(resolveNativeSampleIntervalMs({ ...basePower, thermalState: "critical" }, 1)).toBe( 15_000, ); expect(resolveNativeSampleIntervalMs({ ...basePower, onBattery: "true" }, 1)).toBe(5_000); }); it("keeps unknown background telemetry cheap but serves live diagnostics at 1Hz", () => { const unknown: HostPowerSnapshot = { ...basePower, source: "unknown", stale: true, }; expect(resolveNativeSampleIntervalMs(unknown, 0)).toBe(5_000); expect(resolveNativeSampleIntervalMs(unknown, 1)).toBe(1_000); expect( resolveNativeSampleIntervalMs( { ...basePower, stale: true, locked: "true", suspended: true }, 0, ), ).toBe(5_000); expect(resolveNativeSampleIntervalMs(basePower, 0)).toBe(1_000); });});
import type { HostPowerSnapshot } from "@t3tools/contracts";
import { describe, expect, it } from "@effect/vitest";
import * as DateTime from "effect/DateTime";
import { resolveNativeSampleIntervalMs } from "./NativeTelemetryClient.ts";
const basePower: HostPowerSnapshot = {
source: "electron-main",
idle: "false",
idleSeconds: 0,
locked: "false",
suspended: false,
onBattery: "false",
lowPowerMode: "false",
thermalState: "nominal",
stale: false,
updatedAt: DateTime.makeUnsafe("2026-06-17T12:00:00.000Z"),
};
describe("resolveNativeSampleIntervalMs", () => {
it("pauses while suspended and backs off under host constraints", () => {
expect(resolveNativeSampleIntervalMs({ ...basePower, suspended: true }, 1)).toBe(0);
expect(resolveNativeSampleIntervalMs({ ...basePower, locked: "true" }, 1)).toBe(15_000);
expect(resolveNativeSampleIntervalMs({ ...basePower, lowPowerMode: "true" }, 1)).toBe(15_000);
expect(resolveNativeSampleIntervalMs({ ...basePower, thermalState: "critical" }, 1)).toBe(
15_000,
);
expect(resolveNativeSampleIntervalMs({ ...basePower, onBattery: "true" }, 1)).toBe(5_000);
});
it("keeps unknown background telemetry cheap but serves live diagnostics at 1Hz", () => {
const unknown: HostPowerSnapshot = {
...basePower,
source: "unknown",
stale: true,
};
expect(resolveNativeSampleIntervalMs(unknown, 0)).toBe(5_000);
expect(resolveNativeSampleIntervalMs(unknown, 1)).toBe(1_000);
expect(
resolveNativeSampleIntervalMs(
{ ...basePower, stale: true, locked: "true", suspended: true },
0,
),
).toBe(5_000);
expect(resolveNativeSampleIntervalMs(basePower, 0)).toBe(1_000);
});
});