Files
OmniRoute/tests/unit/compression/rtk-render-table.test.ts
Diego Rodrigues de Sa e Souza 7c23dab64d Release v3.8.40
v3.8.40 cycle integration → main. All test gates green (Unit/Integration/Coverage/Node-compat/Quality-Ratchet). The only red check, 'PR Test Policy', is the test-masking heuristic firing on the cumulative ~57-commit release diff (legitimate assert consolidations already reviewed per-PR — Gemini CLI removal #5246, retired GPT models #5280, provider catalog refreshes); overridden with --admin per the documented release-PR convention. CodeQL/SonarQube advisory scans non-blocking; #5278's code already passed CodeQL on main. Homologated on VPS 192.168.0.15 (v3.8.40 healthy).
2026-06-29 08:40:06 -03:00

33 lines
1.0 KiB
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import { renderStructuredTable } from "../../../open-sse/services/compression/engines/rtk/renderers/structuredTable.ts";
const det = {
type: "kubectl",
command: "kubectl get pods -o json",
confidence: 1,
category: "cloud",
matchedPatterns: [],
};
test("homogeneous JSON array ⇒ minimal table", () => {
const input = JSON.stringify([
{ name: "pod-a", status: "Running", restarts: 0 },
{ name: "pod-b", status: "Pending", restarts: 2 },
]);
const r = renderStructuredTable(input, det);
assert.equal(r.changed, true);
assert.ok(r.text.includes("name"));
assert.ok(r.text.includes("pod-a"));
assert.ok(r.text.includes("Pending"));
assert.ok(!r.text.includes('"status":')); // não é mais JSON
});
test("malformed JSON ⇒ no-op", () => {
assert.equal(renderStructuredTable("{not json", det).changed, false);
});
test("single object (not array) ⇒ no-op", () => {
assert.equal(renderStructuredTable('{"name":"x"}', det).changed, false);
});