import { describe, expect, it } from "vitest";
import { normalizeHowEachCourseSeesContent } from "./normalizeContent";

describe("normalizeHowEachCourseSeesContent — course progress", () => {
  it("clamps progress to 0–100 and preserves progress_color on Core/DNA courses", () => {
    const result = normalizeHowEachCourseSeesContent({
      coreCourses: [
        { name: "Science", progress: 150, progress_color: "#2E8B57" },
        { name: "Math", progress: -10 },
      ],
      dnaCourses: [{ name: "Communication", progressColor: "#4B0082", progress: 75 }],
    });

    const core = result.coreCourses as Record<string, unknown>[];
    const dna = result.dnaCourses as Record<string, unknown>[];

    expect(core[0].progress).toBe(100);
    expect(core[0].progress_color).toBe("#2E8B57");
    expect(core[1].progress).toBe(0);
    expect(core[1].progress_color).toBeUndefined();

    expect(dna[0].progress).toBe(75);
    expect(dna[0].progress_color).toBe("#4B0082");
    expect(dna[0].progressColor).toBeUndefined();
  });

  it("defaults missing progress to 60 for backward compatibility", () => {
    const result = normalizeHowEachCourseSeesContent({
      coreCourses: [{ name: "Science", whatLearning: "Observe" }],
    });
    const core = result.coreCourses as Record<string, unknown>[];
    expect(core[0].progress).toBe(60);
  });
});
