[project]
name = "breakpilot-backend"
version = "1.0.0"
description = "BreakPilot Backend - FastAPI Server"
requires-python = ">=3.10"

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
asyncio_mode = "auto"
# Add current directory to PYTHONPATH so local packages like classroom_engine are found
pythonpath = ["."]
# Define custom markers
markers = [
    "integration: marks tests as integration tests (require external services)",
    "requires_postgres: marks tests that require PostgreSQL database",
    "requires_weasyprint: marks tests that require WeasyPrint system libraries",
]
# Filter specific warnings
filterwarnings = [
    "ignore::DeprecationWarning",
    "ignore::pytest.PytestUnraisableExceptionWarning",
]

[tool.coverage.run]
source = ["."]
omit = ["tests/*", "venv/*", "*/__pycache__/*"]

[tool.coverage.report]
exclude_lines = [
    "pragma: no cover",
    "if __name__ == .__main__.:",
    "raise NotImplementedError",
]
