"""Smoke tests for database initialization."""

from pathlib import Path

from database.base import Base
from database.database import init_db


def test_init_db_creates_file(temp_db_url: str, temp_db_path: Path) -> None:
    """Verify that init_db creates the SQLite database file."""
    init_db(database_url=temp_db_url)
    assert temp_db_path.exists()


def test_init_db_returns_engine(temp_db_url: str) -> None:
    """Verify that init_db returns a usable Engine instance."""
    engine = init_db(database_url=temp_db_url)
    assert engine is not None
    assert "sqlite" in str(engine.url)


def test_base_is_declarative_base() -> None:
    """Verify that Base is a SQLAlchemy DeclarativeBase subclass."""
    from sqlalchemy.orm import DeclarativeBase

    assert issubclass(Base, DeclarativeBase)
