mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-23 20:04:27 +00:00
32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { getNodeLabelDisplay } from "@/lib/attack-paths/node-label-lines";
|
|
|
|
describe("getNodeLabelDisplay", () => {
|
|
it("adds an ellipsis within the max width when wrapped label text exceeds the visible line budget", () => {
|
|
expect(
|
|
getNodeLabelDisplay("AWSReservedSSO_AdministratorAccess", 16, 2).lines,
|
|
).toEqual(["AWSReservedSSO_A", "dministratorAcc…"]);
|
|
});
|
|
|
|
it("splits long tokens so unbroken identifiers do not overflow node labels", () => {
|
|
expect(
|
|
getNodeLabelDisplay("OrganizationAccountAccessRole", 16, 4).lines,
|
|
).toEqual(["OrganizationAcco", "untAccessRole"]);
|
|
});
|
|
|
|
it("reports whether the visible label was truncated", () => {
|
|
expect(getNodeLabelDisplay("short-name", 16, 4)).toMatchObject({
|
|
isTruncated: false,
|
|
lines: ["short-name"],
|
|
});
|
|
expect(
|
|
getNodeLabelDisplay(
|
|
"arn:aws:iam::998057895221:role/OrganizationAccountAccessRole/integration",
|
|
16,
|
|
4,
|
|
),
|
|
).toMatchObject({ isTruncated: true });
|
|
});
|
|
});
|