from conftest import create_session, join_student def test_session_metadata_join_me_and_stats(client, sample_pool): sid = create_session(client, sample_pool) metadata = client.get(f"/api/session/{sid}").json() assert metadata["title"] == "Sample Quiz" assert metadata["state"] == "lobby" assert metadata["current_question_idx"] is None join = join_student(client, sid, "s1", "First Name") assert join["ok"] is True assert "qz_student" in client.cookies join_student(client, sid, "s1", "Updated Name") me = client.get(f"/api/session/{sid}/me") assert me.status_code == 200 assert me.json()["name"] == "Updated Name" stats = client.get(f"/api/session/{sid}/stats").json() assert stats["question_idx"] is None assert stats["top5"][0]["name"] == "Updated Name" def test_invalid_session_and_missing_cookie_paths(client): assert client.get("/?sid=BAD").status_code == 200 assert "Ask your instructor" in client.get("/?sid=BAD").text assert client.get("/api/session/BAD").status_code == 404 assert client.get("/api/session/BAD/me").status_code == 401