Newer
Older
client_dwatch / lib / format / __tests__ / group-id.test.ts
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);
  });
});