import test from 'node:test'; import assert from 'node:assert/strict'; import ExcelJS from 'exceljs'; import {createTenderWorkbook} from '../src/services/tenderWorkbook.js'; test('list XLSX roundtrip preserves all rows, Turkish text, special characters and text-only cells',async()=>{ const rows=Array.from({length:125},(_,i)=>({ikn:`2026/00${i}`,baslik:i===0?'=1+1':'İğdır, "Kit"\nTest # &', kurum:'Sağlık',sehir:'Iğdır',tarih:'01.10.2026',saat:'09:30',cpv:['001','002'],kaynakUrl:'https://example.test/?a=1&b=2#ilan'})); const bytes=await createTenderWorkbook(rows); assert.equal(Buffer.from(bytes).subarray(0,2).toString(),'PK'); const book=new ExcelJS.Workbook();await book.xlsx.load(bytes); const sheet=book.getWorksheet('İhale Listesi'); assert.equal(sheet.rowCount,126); assert.equal(sheet.getCell('A2').value,'2026/000'); assert.equal(sheet.getCell('B2').value,'=1+1'); assert.equal(sheet.getCell('B2').type,ExcelJS.ValueType.String); assert.equal(sheet.getCell('B126').value,rows[124].baslik); assert.equal(sheet.getCell('F2').value,'09:30'); assert.equal(sheet.getCell('I2').value,'001, 002'); assert.equal(sheet.getCell('J2').value,rows[0].kaynakUrl); await assert.rejects(()=>createTenderWorkbook([]),/bulunamadı/); });