Ctrl K
ComunidadGuías…

lib/board-integrations.test.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { describe, expect, it } from "vitest";
import { boardIntegrationFacets } from "./board-integrations";

const integration = (
  id: string,
  kind: "issues" | "feedback" = "issues",
  revoked_at: string | null = null,
) => ({ id, name: id, kind, revoked_at });

describe("board integration facets", () => {
  it("offers active issue integrations even before their first ticket", () => {
    expect(boardIntegrationFacets([integration("active")], [])).toEqual([
      integration("active"),
    ]);
  });

  it("keeps a revoked integration while a living ticket still uses it", () => {
    const revoked = integration("revoked", "issues", "2026-09-03T10:00:00Z");
    expect(
      boardIntegrationFacets([revoked], [{ integration_id: "revoked" }]),
    ).toEqual([revoked]);
  });

  it("omits unused revoked and feedback-only integrations", () => {
    expect(
      boardIntegrationFacets(
        [
          integration("unused", "issues", "2026-09-03T10:00:00Z"),
          integration("feedback", "feedback"),
        ],
        [],
      ),
    ).toEqual([]);
  });
});