import { describe, expect, it } from "vitest";
import { GROUP_ID_NONE } from "@/lib/config";
import { groupIdFromDb } from "@/lib/format/group-id";

/**
 * `customers.group_id`（DB）→ `group_id`（API）の変換（D-011 / 指示書AK §4-4）。
 *
 * ★★守っているもの★★ — ★「グループ0」という存在しないホールディングスを
 *   画面に出さないこと★（指示書AK 落とし穴3）。
 *   変換を忘れても ★例外もテスト失敗も出ない★ ので、ここで固定する。
 */
describe("groupIdFromDb", () => {
  it("0（センチネル）は null になる", () => {
    expect(groupIdFromDb(0)).toBeNull();
  });

  it("センチネル値は設定値から読む（0 を直書きしていない）", () => {
    expect(groupIdFromDb(GROUP_ID_NONE)).toBeNull();
  });

  it("1以上はそのまま返す", () => {
    expect(groupIdFromDb(1)).toBe(1);
    expect(groupIdFromDb(42)).toBe(42);
  });
});
