import { describe, expect, it } from "vitest"; import { parseCsvText } from "@/domain/spreadsheet-adapter/csv"; import { gridFromRows } from "@/domain/spreadsheet-adapter/csv"; import { transformRows } from "@/domain/spreadsheet-adapter/transform"; import { buildCsv } from "@/infra/export/tabular"; describe("capacidade", () => { it("transforma 50.000 linhas Ășteis sem perder registros", () => { const lines = ["Origem"]; for (let index = 0; index < 50_000; index += 1) lines.push(String(index)); const grid = gridFromRows(parseCsvText(lines.join("\n")), 1, ["CSV"], "CSV"); expect(grid.rows).toHaveLength(50_000); const output = transformRows(["Destino"], grid.headers, grid.rows, [{ sourceColumn: "Origem", modelColumn: "Destino" }]); expect(output).toHaveLength(50_000); expect(output[49_999][0]).toBe("49999"); const csv = buildCsv(["Destino"], output.slice(0, 2)); expect(csv.toString("utf8")).toContain("0"); }); });