import { describe, expect, it } from "vitest";
import {
  communicationPresetFor,
  decisionApproachPresetFor,
} from "../../lib/create/finalReviewChipPresets";
import {
  communicationMethodFacetMatchesPreset,
  decisionApproachFacetMatchesPreset,
} from "../../lib/create/methodCardFacetMatchesPresetForId";

const uuid = "550e8400-e29b-41d4-a716-446655440000";

describe("methodCardFacetMatchesPresetForId", () => {
  it("communication: matches fresh preset seed for an unknown id", () => {
    const p = communicationPresetFor(uuid);
    expect(communicationMethodFacetMatchesPreset(p, uuid)).toBe(true);
  });

  it("communication: mismatches when any section differs from preset", () => {
    const p = communicationPresetFor(uuid);
    expect(
      communicationMethodFacetMatchesPreset(
        { ...p, corePrinciple: "edited" },
        uuid,
      ),
    ).toBe(false);
  });

  it("decision approaches: ignores key-resource chip selections", () => {
    const p = decisionApproachPresetFor(uuid);
    expect(
      decisionApproachFacetMatchesPreset(
        {
          ...p,
          selectedApplicableScope: ["Steward finances"],
        },
        uuid,
      ),
    ).toBe(true);
    expect(
      decisionApproachFacetMatchesPreset(
        { ...p, corePrinciple: "edited" },
        uuid,
      ),
    ).toBe(false);
  });
});
