/**
 * #533 — passesMinMentions() 순수 함수 단위 테스트.
 * 설계서: docs/design/533-min-mentions-filter/README.md
 */
import { passesMinMentions } from "@/lib/filters";

describe("passesMinMentions", () => {
  it("minMentions=0(기본)이면 필터 미적용 — 항상 true", () => {
    expect(passesMinMentions(0, 0)).toBe(true);
    expect(passesMinMentions(null, 0)).toBe(true);
    expect(passesMinMentions(100, 0)).toBe(true);
  });

  it("음수 minMentions도 필터 미적용으로 취급한다", () => {
    expect(passesMinMentions(0, -1)).toBe(true);
  });

  it("video_count 가 minMentions 미만이면 제외(false)", () => {
    expect(passesMinMentions(1, 2)).toBe(false);
    expect(passesMinMentions(0, 1)).toBe(false);
  });

  it("video_count 가 minMentions 와 같으면 포함(경계값 포함)", () => {
    expect(passesMinMentions(2, 2)).toBe(true);
  });

  it("video_count 가 minMentions 초과면 포함", () => {
    expect(passesMinMentions(5, 2)).toBe(true);
  });

  it("video_count 가 null/undefined(미산정)이면 0으로 간주한다", () => {
    expect(passesMinMentions(null, 2)).toBe(false);
    expect(passesMinMentions(undefined, 2)).toBe(false);
    expect(passesMinMentions(null, 0)).toBe(true);
  });
});
