Files
OmniRoute/tests/unit/ui/edgeStyles.test.ts
nguyenha935 12bf0ed077 fix(ui): improve React Flow dark theme (#7553)
* fix(ui): theme provider topology in dark mode

* fix(i18n): isolate topology translation keys

* refactor(i18n): reuse existing topology labels

---------

Co-authored-by: nguyenha935 <208228297+nguyenha935@users.noreply.github.com>
2026-07-18 15:14:28 -03:00

51 lines
1.5 KiB
TypeScript

import { describe, it } from "node:test";
import assert from "node:assert/strict";
import { edgeStyle, FLOW_EDGE_COLORS } from "../../../src/shared/components/flow/edgeStyles.ts";
describe("flow edgeStyles (U0 — extracted from ProviderTopology)", () => {
it("exposes the shared flow palette", () => {
assert.equal(FLOW_EDGE_COLORS.active, "#22c55e");
assert.equal(FLOW_EDGE_COLORS.error, "#ef4444");
assert.equal(FLOW_EDGE_COLORS.last, "#f59e0b");
assert.equal(FLOW_EDGE_COLORS.idle, "var(--color-text-muted)");
});
it("styles an error edge", () => {
assert.deepEqual(edgeStyle(false, false, true), {
stroke: "#ef4444",
strokeWidth: 2,
opacity: 0.85,
});
});
it("styles an active edge", () => {
assert.deepEqual(edgeStyle(true, false, false), {
stroke: "#22c55e",
strokeWidth: 2.5,
opacity: 1,
});
});
it("styles a last-used edge", () => {
assert.deepEqual(edgeStyle(false, true, false), {
stroke: "#f59e0b",
strokeWidth: 1.5,
opacity: 0.6,
});
});
it("styles an idle edge", () => {
assert.deepEqual(edgeStyle(false, false, false), {
stroke: "var(--color-text-muted)",
strokeWidth: 1,
opacity: 0.3,
});
});
it("applies precedence error > active > last", () => {
assert.equal(edgeStyle(true, true, true).stroke, "#ef4444"); // error wins
assert.equal(edgeStyle(true, true, false).stroke, "#22c55e"); // active beats last
});
});