TESOL 시험 결과
CLASS-UNIT-RESULT-DETAIL · /my-class/unit-result/[unit]/[kind]
기능
3
API 호출
0
가드레일
2
id 가 테스트 이름
구현 단계
5 / 5
개발 스펙
이 화면에서 할 수 있어야 하는 것 (3)
- 친 시험의 문항별 정오와 총점을 본다.
- 오답은 빨간색, 내가 고른 보기는 굵게 표시한다.
- 아직 안 친 차수를 열면 응시 안내가 나온다.
비즈니스 규칙 (2)
- 차수 합격 여부는 그 차수 점수로 판정한다.근거: quiz_result.pass 는 유닛 단위라 차수 판정에 쓸 수 없다.
- 유닛을 다른 차수에서 통과했다면 별도 배지로 알린다.
API (1)
| 메서드 | 경로 | 권한 | 모듈 · 설명 |
|---|---|---|---|
GET | /api/assessment/results/{course}/{unit}/{kind} | 수강생 | 채점 결과. 정답 · 내 답안 · 문항별 점수를 함께 내려준다. domains:assessment:assessment-web응답: { unitTitle, score, passed, unitPassed, items: [{ number, text, choices, picked, correct, point }] } 404 NOT_TAKEN — 해당 차수 미응시 |
가드레일 (2) — id 가 곧 테스트 이름이다
| id | 반드시 만족해야 하는 것 | 등급 |
|---|---|---|
result-own-only | 남의 응시 결과를 조회할 수 없어야 한다. 항상 로그인한 본인 기록만 나온다. | critical |
result-kind-level-verdict | 0점인 차수가 PASS 로 보이면 안 된다. 배지는 그 차수 점수 기준이어야 한다. quiz_result.pass 를 그대로 쓰다가 실제로 났던 버그. | high |
구현 계획 (5/5)
- ●findAnswers 포트 · UnitProgress
assessment-domain - ●GetExamResultUseCase — 차수 기준 합격 판정
assessment-app - ●quiz_result_answer 조회 — 콤마 분해
assessment-infrastructure - ●GET /results/{course}/{unit}/{kind}
assessment-web - ●Next.js 를 BFF 로 전환 — Prisma 직접 접근 제거
wvctesol
서버 사이드 구현 계획 — 자바 객체별 요구사항 (2/2)
| 객체 | 모듈 | 책임 · 지켜야 할 것 |
|---|---|---|
● GetExamResultUseCaseservice | assessment-app | 채점 결과 조회.
|
● ExamResultViewrecord | assessment-app | 결과 응답 DTO.
|
테스트 방법 (2)
| 가드레일 | 종류 | 확인 방법 |
|---|---|---|
result-own-only | e2e | A 계정 토큰으로 B 계정의 결과를 조회 시도 → 404/403, 본인 기록만 반환 |
result-kind-level-verdict | e2e | UNIT2 가 A 0점·B 100점일 때 A 결과 화면 → FAIL 배지 + "다른 차수 통과" 안내 |
스냅샷
로그인 세션으로 촬영한 실제 화면입니다.

기능 목록 (3)
인증
- ·세션 확인
- ·로그인 필요
proxy 가 /login 으로 보냄
하드코딩
- ·하드코딩 데이터
tabs
화면 이동
← 이 화면으로 오는 곳
CLASS-ONLINE/my-class/onlineCLASS-UNIT-QUIZ-DETAIL/my-class/unit-quiz/[unit]/[kind]
이 화면에서 가는 곳 →
CLASS/my-classCLASS-TEC-ONLINE/my-class/tec-onlineCLASS-UNIVERSITY-REGISTER/my-class/university-registerAUTH-LOGIN/login
연결
API
직접 호출하는 API 가 없습니다
소스
src/app/my-class/unit-result/[unit]/[kind]/page.tsx