// server/templates/aptReduce.test.ts import { describe, it, expect } from "vitest"; import { reduceAptLines, reduceLines } from "./aptReduce.js"; describe("reduceAptLines", () => { it("ne garde que les lignes utiles", () => { const raw = [ "Reading package lists...", "Building dependency tree...", "Inst pve-manager [8.4-1] (8.4-3 Proxmox VE:8.x [amd64])", "blabla inutile", "Conf pve-manager (8.4-3 Proxmox VE:8.x [amd64])", "E: Could not get lock", "W: Some warning", "dpkg: warning: x", ].join("\n"); expect(reduceAptLines(raw)).toEqual([ "Inst pve-manager [8.4-1] (8.4-3 Proxmox VE:8.x [amd64])", "Conf pve-manager (8.4-3 Proxmox VE:8.x [amd64])", "E: Could not get lock", "W: Some warning", "dpkg: warning: x", ]); }); it("retourne un tableau vide si rien d'utile", () => { expect(reduceAptLines("Reading package lists...\nDone")).toEqual([]); }); it("garde aussi les lignes Docker utiles", () => { const raw = [ "Pulling jellyfin ...", "Status: Downloaded newer image for jellyfin/jellyfin:latest", "Recreating jellyfin ...", "Started jellyfin", "blabla inutile", "Total reclaimed space: 1.2GB", ].join("\n"); expect(reduceLines(raw)).toEqual([ "Pulling jellyfin ...", "Status: Downloaded newer image for jellyfin/jellyfin:latest", "Recreating jellyfin ...", "Started jellyfin", "Total reclaimed space: 1.2GB", ]); }); });