Assign invite-joined agents to company CEO

This commit is contained in:
Dotta
2026-03-06 11:22:24 -06:00
parent f56901b473
commit cf1ccd1e14
2 changed files with 54 additions and 1 deletions

View File

@@ -0,0 +1,33 @@
import { describe, expect, it } from "vitest";
import { resolveJoinRequestAgentManagerId } from "../routes/access.js";
describe("resolveJoinRequestAgentManagerId", () => {
it("returns null when no CEO exists in the company agent list", () => {
const managerId = resolveJoinRequestAgentManagerId([
{ id: "a1", role: "cto", reportsTo: null },
{ id: "a2", role: "engineer", reportsTo: "a1" },
]);
expect(managerId).toBeNull();
});
it("selects the root CEO when available", () => {
const managerId = resolveJoinRequestAgentManagerId([
{ id: "ceo-child", role: "ceo", reportsTo: "manager-1" },
{ id: "manager-1", role: "cto", reportsTo: null },
{ id: "ceo-root", role: "ceo", reportsTo: null },
]);
expect(managerId).toBe("ceo-root");
});
it("falls back to the first CEO when no root CEO is present", () => {
const managerId = resolveJoinRequestAgentManagerId([
{ id: "ceo-1", role: "ceo", reportsTo: "mgr" },
{ id: "ceo-2", role: "ceo", reportsTo: "mgr" },
{ id: "mgr", role: "cto", reportsTo: null },
]);
expect(managerId).toBe("ceo-1");
});
});