// server/services/system.test.ts import { describe, expect, it } from "vitest"; import { getSystemMetrics, getSystemStatus, systemInternals } from "./system.js"; describe("system service", () => { it("publie un status serveur stable", () => { const status = getSystemStatus(new Date("2026-06-05T10:00:00.000Z")); expect(status).toMatchObject({ app: "system_update", version: "0.1.0", apiVersion: "1", serverTime: "2026-06-05T10:00:00.000Z", }); expect(status.uptimeSeconds).toBeGreaterThanOrEqual(0); }); it("publie des métriques serveur sans secret", () => { const metrics = getSystemMetrics(new Date("2026-06-05T10:00:00.000Z")); expect(metrics.collectedAt).toBe("2026-06-05T10:00:00.000Z"); expect(metrics.process.rssMb).toBeGreaterThan(0); expect(metrics.host.totalMemoryMb).toBeGreaterThan(0); expect(JSON.stringify(metrics)).not.toContain("password"); }); it("arrondit à deux décimales", () => { expect(systemInternals.round2(12.345)).toBe(12.35); }); });