← Files Biological Sequence & Alignment ViewerARCHIVED FILE
src/target-resolution.test.ts
788 Bytes · Sep 30, 2026 · 23:01 UTC
import { describe, expect, it } from "vitest";
import { resolveViewerTarget } from "./target-resolution";
const targets = [
{ id: "row-1", label: "duplicate" },
{ id: "row-2", label: "duplicate" },
];
describe("resolveViewerTarget", () => {
it("prioritizes exact IDs and rejects ambiguous aliases", () => {
expect(resolve("row-2")).toMatchObject({
status: "resolved",
target: { id: "row-2" },
});
expect(resolve("DUPLICATE")).toMatchObject({
candidates: targets,
status: "ambiguous",
});
expect(resolve("missing")).toEqual({ status: "not-found" });
});
});
function resolve(selector: string) {
return resolveViewerTarget({
aliases: (target) => [target.label],
id: (target) => target.id,
selector,
targets,
});
}
SHA-256: 9846ec8112f153359a20dfda12e73794222153690537a5a3b1461b9dbdad5364