from app.models.chunk import IngestionChunkContract, to_ingestion_chunk_contract


def test_to_ingestion_chunk_contract_parses_db_shape():
    doc = {
        "chunk_id": "chk_1",
        "repo_id": "ad/repo",
        "doc_path": "docs/api.md",
        "section_title": "API",
        "chunk_text": "Hello",
        "chunk_hash": "hash_1",
        "source_type": "repo_doc",
        "metadata": {
            "chunk_type": "text",
            "chunk_order": 1,
            "token_count": 5,
        },
    }

    contract = to_ingestion_chunk_contract(doc)

    assert isinstance(contract, IngestionChunkContract)
    assert contract.chunk_id == "chk_1"
    assert contract.metadata.chunk_type == "text"
    assert contract.metadata.token_count == 5
