세션 평가·라이브코치·교수자 분석 라운드 마감 + 문서 정리 + 코드품질 리팩터
- 누적 작업트리 커밋: 회기 평가 복구·durable 저장, 라이브 코치 이력/근거, 교수자 학생분석, 음성 비언어 메타, PII 마스킹, 운영 티켓/헬스 등 - 문서: 완료 기록 docs/archive/ 냉동 보관, docs/ 단일 인덱스(docs/README.md)+통합 TODO(docs/TODO.md)로 정리 - 리팩터(행위 보존): Stage enum SSOT(taxonomy 소유·state_machine re-export), store recent/masked_turns 중복 제거, speaker_ko_label 단일 헬퍼, _list_sessions N+1 제거(state/turns 배치 + 턴평가 하이드레이션 배치) - 검증: 백엔드 pytest 352 passed, _list_sessions E2E chromium-single-run 2 passed
This commit is contained in:
parent
7c41c3ce79
commit
778e8526d4
108 changed files with 6457 additions and 455 deletions
|
|
@ -10,8 +10,9 @@ export interface E2EPersona {
|
|||
}
|
||||
|
||||
export async function useRealApi(_page: Page) {
|
||||
// Intentionally empty. E2E should exercise the local API through the Vite
|
||||
// proxy instead of replacing app data with browser-side route fixtures.
|
||||
// No-op marker for tests that should use the configured Vite /api proxy unless
|
||||
// a spec explicitly installs route fixtures for a focused UI or error state.
|
||||
// This helper alone is not proof that every test in the file is fixture-free.
|
||||
}
|
||||
|
||||
function sleep(ms: number) {
|
||||
|
|
@ -98,6 +99,25 @@ export async function signInAsTeacher(page: Page) {
|
|||
});
|
||||
}
|
||||
|
||||
export async function signInAsAdmin(page: Page) {
|
||||
const res = await page.request.post("/api/auth/dev-login", {
|
||||
data: {
|
||||
email: "admin@twentyoz.kr",
|
||||
role: "admin",
|
||||
display_name: "E2E Admin",
|
||||
},
|
||||
});
|
||||
expect(res.ok(), await res.text()).toBeTruthy();
|
||||
await completeOnboarding(page, {
|
||||
legal_name: "E2E Admin",
|
||||
affiliation: "한신대학교",
|
||||
department: "운영",
|
||||
grade_level: "관리자",
|
||||
phone: "010-2222-2222",
|
||||
contact_address: "경기도 오산시 한신대학교",
|
||||
});
|
||||
}
|
||||
|
||||
export async function completeOnboarding(
|
||||
page: Page,
|
||||
profile: {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue