1
0

Phase 1: scaffold, data models, selection logic, tests

Flask application skeleton with SQLAlchemy models for courses (including
per-course settings), students, enrollments, opt-outs, and calls; the
weighted and cycle selection logic ported from the manual coldcall
scripts; alembic migrations; and a pytest suite covering selection
behavior and the model query helpers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-31 16:26:53 -07:00
commit 8d8a463f81
16 changed files with 795 additions and 0 deletions

15
tests/conftest.py Normal file
View File

@@ -0,0 +1,15 @@
import pytest
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from coldcall_lti.db import Base
@pytest.fixture
def db_session():
engine = create_engine("sqlite://")
Base.metadata.create_all(engine)
session = sessionmaker(bind=engine)()
yield session
session.close()
engine.dispose()