package kr.itn.itnhub.process;

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.ByteArrayOutputStream;

/** 권리처리 엑셀 테스트용 최소 통합문서. 1행 그룹제목, 2행 헤더, 3행부터 데이터. */
final class ProcessParserFixtures {

    private ProcessParserFixtures() {
    }

    /** 순번 1행짜리 시트를 만들고, 기존 증빙자료 값을 지정한 열에만 넣는다. */
    static byte[] withPriorEvidenceAt(int column, String value) throws Exception {
        try (XSSFWorkbook wb = new XSSFWorkbook(); ByteArrayOutputStream out = new ByteArrayOutputStream()) {
            Sheet sheet = wb.createSheet(ProcessParser.PRIMARY_SHEET_NAME);
            sheet.createRow(0).createCell(0).setCellValue("게시물 정보(조사원)");

            Row header = sheet.createRow(1);
            for (int i = 0; i < ProcessService.COLUMN_HEADERS.length; i++) {
                header.createCell(i).setCellValue(ProcessService.COLUMN_HEADERS[i]);
            }

            Row data = sheet.createRow(2);
            data.createCell(ProcessParser.COL_SEQ).setCellValue("1");
            data.createCell(ProcessParser.COL_SITE_NAME).setCellValue("사이트");
            data.createCell(column).setCellValue(value);

            wb.write(out);
            return out.toByteArray();
        }
    }
}
