import { describe, expect, it } from "vitest";
import { sessionBindingContractChannelIds } from "../../../../test/helpers/channels/manifest.js";

const discordSessionBindingAdapterChannels = ["discord"] as const;

describe("channel contract registry", () => {
  function expectSessionBindingCoverage(expectedChannelIds: readonly string[]) {
    expect([...sessionBindingContractChannelIds]).toEqual(
      expect.arrayContaining([...expectedChannelIds]),
    );
  }

  it.each([
    {
      name: "keeps core session binding coverage aligned with built-in adapters",
      expectedChannelIds: [...discordSessionBindingAdapterChannels, "telegram"],
    },
  ] as const)("$name", ({ expectedChannelIds }) => {
    expectSessionBindingCoverage(expectedChannelIds);
  });
});
