Commit 20b99198 authored by Jan Reimes's avatar Jan Reimes
Browse files

🐛 fix(3gpp-ai): render wiki summarize fallback sections for empty output

parent d14386b9
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -586,11 +586,16 @@ def ai_summarize(
    if normalized_mode == "wiki":
        console.print(f"## Wiki Summary for {document_id}")
        console.print("### Abstract")
        if not result.summary or not result.summary.strip():
            console.print("[No summary content available — the document may have insufficient extractable text.]")
        else:
            console.print(result.summary)
        if result.keywords:
        console.print("### Keywords")
        if result.keywords:
            for keyword in result.keywords:
                console.print(f"- {keyword}")
        else:
            console.print("- none")
        extraction_status = result.metadata.get("extraction_status")
        if extraction_status:
            console.print("### Source Quality")
+22 −0
Original line number Diff line number Diff line
@@ -40,6 +40,28 @@ def test_summarize_wiki_mode(monkeypatch) -> None:
    assert "### Source Quality" in result.stdout


def test_summarize_wiki_mode_renders_empty_fallbacks(monkeypatch) -> None:
    runner = CliRunner()

    def _empty_stub(*_args: object, **_kwargs: object) -> SimpleNamespace:
        return SimpleNamespace(
            summary="",
            keywords=[],
            metadata={"extraction_status": "failed"},
        )

    monkeypatch.setattr("threegpp_ai.cli.summarize_document", _empty_stub)

    result = runner.invoke(app, ["summarize", "S4-260001", "--output-mode", "wiki"])

    assert result.exit_code == 0
    assert "### Abstract" in result.stdout
    assert "No summary content available" in result.stdout
    assert "### Keywords" in result.stdout
    assert "- none" in result.stdout
    assert "### Source Quality" in result.stdout


def test_summarize_rejects_invalid_output_mode(monkeypatch) -> None:
    runner = CliRunner()
    monkeypatch.setattr("threegpp_ai.cli.summarize_document", _stub_result)