import { describe, test, expect } from "bun:test"; import { parseJobCards, parseJobDetail, extractDivContent, minutesToTPR } from "../src/helpers"; import { normalizeId } from "../src/commands/detail"; // Minimal search-card markup: parseJobCards splits on the job-posting URN and // needs an id, a base-search-card__title, and a full-link. Everything else is // optional. We inject HTML entities into the title/company to exercise decoding. function searchCard(id: string, title: string, company = "Acme"): string { return `
  • ${title}

    ${company}

  • `; } // The /scrape contract fields beyond title/company. The original fixture had // no