"""Test-only builders shared across modules."""

from __future__ import annotations

from pathlib import Path

from app.config import Settings

MP4_HEADER = (
    b"\x00\x00\x00\x18ftypisom\x00\x00\x02\x00isomiso2mp41"
    b"\x00\x00\x00\x08free"
    b"\x00" * 64
)


def build_settings(tmp_path: Path, **overrides: object) -> Settings:
    values: dict[str, object] = {
        "bot_token": "123456789:" + "A" * 35,
        "admin_ids": "4242,4243",
        "allowed_domains": "example.com",
        "database_path": tmp_path / "data" / "bot.db",
        "log_file": tmp_path / "logs" / "bot.log",
        "max_file_size_mb": 10,
        "telegram_max_upload_mb": 10,
        "max_concurrent_downloads": 1,
        "respect_robots_txt": False,
        "browser_fallback_enabled": False,
        "ffmpeg_enabled": False,
        "page_delay_seconds": 0,
    }
    values.update(overrides)
    return Settings(_env_file=None, **values)
