유스케이스 TDD 16테마 스펙과 접근성 제품 결함 수정
- 지원 티켓 작성 UI 신설(설정)·관리자 해결 노트 입력 신설(Admin): 서버 계약은 있었으나 웹 진입점이 없던 2결함 - a11y: outline 채널 포커스 링(ui/shell css), 세션바 44px 터치 타깃, 청록 하드코딩 그라디언트를 테마 토큰으로 교체, 설정 라벨/헤딩/대비·리뷰 44px·모바일 오버플로 수정 - uc-*.spec.ts 16테마 239 시나리오 신규(수집 1109 tests/61 files), 기존 스펙 5종 계약 드리프트 교정 - breakpoint-sweep: widthsFor 솎아내기가 실기기 대표 폭(360/390/1024)을 탈락시키는 테스트 결함 수정 — keep 시드를 전체 DEVICE_WIDTHS로, 3연폭 예외는 솎아내기 발생 여부 기준으로 - 검증: tsc PASS, 병렬 게이트 1040 passed(데스크톱 밀도 충돌 1건 해소 후 focused 68/68 GREEN), 직렬 게이트 52/5/4 삼각화 — breakpoint(테스트 결함)·kb(낡은 dev API 재기동)·voice(일시적) 해소, 교사 재평가 2건은 엔진 구독 한도(resets 3pm)로 skip 후 재검증 대기 - 문서/SSOT: HANDOFF·TODO·대시보드·testing 가이드 동기화, 증거 usecase-tdd-2026-08-18.json, SSOT 체커 PASS(59)
This commit is contained in:
parent
4771b97c3a
commit
cf899b7f15
37 changed files with 11989 additions and 67 deletions
|
|
@ -70,6 +70,21 @@ async function createEndedLearnerSession(page: Page) {
|
|||
});
|
||||
await expectResponseOk(start);
|
||||
const session = (await start.json()) as SessionStartResponse;
|
||||
// 0턴 종료 회기는 서버 계약상 검토 대상이 아니다(teacher.py _needs_teacher_review:
|
||||
// turn_count > 0 또는 평가 ready/error). 검토 큐에 실제로 잡히는 종료 회기를 만들기
|
||||
// 위해 실 엔진으로 학습자 발화 1턴을 기록한 뒤 종료한다.
|
||||
let turn = await page.request.post(`/api/sessions/${session.session_id}/turn`, {
|
||||
data: { text: "오늘 많이 버거웠겠어요. 지금 가장 크게 남아 있는 마음은 어떤 건가요?" },
|
||||
timeout: 120_000,
|
||||
});
|
||||
for (let attempt = 0; attempt < 2 && !turn.ok(); attempt += 1) {
|
||||
await page.waitForTimeout(1000);
|
||||
turn = await page.request.post(`/api/sessions/${session.session_id}/turn`, {
|
||||
data: { text: "조금 천천히 이야기해도 괜찮습니다. 지금 마음에 남는 장면이 있나요?" },
|
||||
timeout: 120_000,
|
||||
});
|
||||
}
|
||||
await expectResponseOk(turn);
|
||||
const ended = await page.request.post(`/api/sessions/${session.session_id}/end`);
|
||||
await expectResponseOk(ended);
|
||||
return session.session_id;
|
||||
|
|
@ -599,6 +614,7 @@ test.describe("teacher console", () => {
|
|||
});
|
||||
|
||||
test("renders real server sessions from server-owned rows", async ({ page }) => {
|
||||
test.setTimeout(120_000); // 실 엔진 1턴 생성 포함
|
||||
const sessionId = await createEndedLearnerSession(page);
|
||||
await signInAsTeacher(page);
|
||||
|
||||
|
|
@ -1208,6 +1224,7 @@ test.describe("teacher console", () => {
|
|||
});
|
||||
|
||||
test("keeps long teacher lists in bounded panels", async ({ page }) => {
|
||||
test.setTimeout(120_000); // 실 엔진 1턴 생성 포함
|
||||
await createEndedLearnerSession(page);
|
||||
await signInAsTeacher(page);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue