AkurAI Build
Menu

popagent

public

Latest change c900eb46afe65e3e2c2b205bb0d05e6587af4306 - feat: present agents as a portfolio by AkurAI Build

import { describe, expect, test } from "bun:test";
import { renderToStaticMarkup } from "react-dom/server";
import { AgentIdentityCard, AgentPortfolioCard, AgentWorkSource, RuntimeModelSource } from "./AgentSettingsPage";

describe("agent work source", () => {
  test("labels user, self-update, and Build maintenance work explicitly", () => {
    expect(renderToStaticMarkup(<AgentWorkSource source="user" />)).toContain("source user");
    expect(renderToStaticMarkup(<AgentWorkSource source="self-update" />)).toContain("source self-update");
    expect(renderToStaticMarkup(<AgentWorkSource source="build-maintenance" />)).toContain("source build-maintenance");
  });
});

describe("runtime model source", () => {
  test("offers configured, local Titan, and OpenRouter free routes", () => {
    const markup = renderToStaticMarkup(
      <RuntimeModelSource value="local" onChange={() => {}} />,
    );
    expect(markup).toContain("Configured model");
    expect(markup).toContain("Titan local 9B");
    expect(markup).toContain("OpenRouter free router");
  });
});

describe("agent identity card", () => {
  test("shows the assigned person's portrait, title, department, and email", () => {
    const markup = renderToStaticMarkup(
      <AgentIdentityCard
        agentId="orchistrator"
        model="cx/gpt-5.6-luna-max"
        delegationEnabled={true}
      />,
    );
    expect(markup).toContain("Embla Náttsól");
    expect(markup).toContain("Operations Coordinator");
    expect(markup).toContain("Operations");
    expect(markup).toContain("mailto:embla@olibuijr.com");
    expect(markup).toContain("/api/company/avatars/6766bf84-a89a-4b01-bf21-94777efb2e7c");
    expect(markup).toContain("cx/gpt-5.6-luna-max");
  });
});

describe("agent portfolio card", () => {
  test("presents each agent as a large identity-first profile", () => {
    const markup = renderToStaticMarkup(
      <AgentPortfolioCard
        agent={{
          id: "researcher",
          name: "Researcher",
          description: "Evidence investigator",
          instructions: "Investigate.",
          model: "codex/gpt-5.6-luna-medium",
          sourceUrls: [],
          workspaceAccess: "read-only",
          browserAccess: "read-only",
          delegationEnabled: true,
          tools: [],
          createdAt: "",
          updatedAt: "",
        }}
        selected={true}
        onChoose={() => {}}
      />,
    );
    expect(markup).toContain("Salka Valgerðardóttir");
    expect(markup).toContain("Technical Documentation Lead");
    expect(markup).toContain("Evidence investigator");
    expect(markup).toContain("size-24");
    expect(markup).toContain('aria-pressed="true"');
  });
});