financial-report-agent / tests /test_workbook.py
Dbmaxwell's picture
feat: deploy FinReport Agent with LightOnOCR review
9703837 verified
Raw
History Blame Contribute Delete
1.28 kB
from pathlib import Path
import pytest
from openpyxl import load_workbook
from finreport_agent.pipeline import convert_report
SAMPLE_PDF = (
Path(__file__).resolve().parents[2] / "TI2_2025.06 (1).pdf"
)
@pytest.mark.skipif(not SAMPLE_PDF.exists(), reason="Local golden PDF is unavailable")
def test_generated_workbook_has_audit_structure(tmp_path):
output = tmp_path / "golden.xlsx"
result = convert_report(SAMPLE_PDF, output)
assert result.output_path == str(output.resolve())
assert output.exists()
formulas = load_workbook(output, data_only=False)
values = load_workbook(output, data_only=True)
assert formulas.sheetnames == [
"Özet",
"Hisse Senetleri",
"T. Repo",
"Türev",
"Kontroller",
"Kaynak İzleri",
]
assert formulas["Özet"]["E9"].value == "=D9-C9"
assert values["Özet"]["E9"].value == 0
assert values["Hisse Senetleri"].max_row == 74
assert values["Kontroller"]["B8"].value == "EQUITY_NOMINAL_ROUNDING"
klypv_rows = [
row
for row in values["Hisse Senetleri"].iter_rows(min_row=5, values_only=True)
if row[0] == "KLYPV"
]
assert len(klypv_rows) == 1
assert klypv_rows[0][7] is None
assert klypv_rows[0][8] == 64.2