from pathlib import Path

from ai_archive.chunking import chunk_conversation
from ai_archive.indexing import build_index


def test_chunking_and_indexing(tmp_path: Path):
    conversation = {
        "source": "claude",
        "conversation_id": "c1",
        "title": "Example",
        "messages": [
            {"message_id": "m1", "role": "user", "content": "one two three"},
            {"message_id": "m2", "role": "assistant", "content": "four five six"},
        ],
    }
    chunks = chunk_conversation(conversation, max_words=2)
    assert len(chunks) == 2
    db = tmp_path / "archive.db"
    build_index(db, [conversation], [
        {"message_id": "m1", "conversation_id": "c1", "source": "claude", "role": "user", "content": "one two three"},
        {"message_id": "m2", "conversation_id": "c1", "source": "claude", "role": "assistant", "content": "four five six"},
    ], chunks)
    assert db.exists()
