4 Commits

Author SHA1 Message Date
8058a89304 test(component): React 컴포넌트 테스트 도입 (Testing Library, 13개)
All checks were successful
CI / backend-test (push) Successful in 1m0s
CI / frontend-build (push) Successful in 35s
CI / backend-dep-scan (push) Successful in 5s
단위(순수함수)와 E2E(전체 흐름) 사이 '부품 렌더링' 층을 메운다(jsdom).
- Badge(3): 코드값→한국어 라벨/색 매핑, 미지값 폴백(방어적 기본값)
- ProgressBar(4): 백분율 계산·반올림, 0 나눗셈 방어(NaN 방지), 막대 너비
- CodeEditor(6): 제어 입력 왕복, 줄번호 minRows 보장/증가, Tab 공백2칸 삽입,
  텍스트 선택 후 Tab 커서 위치(selectionStart+2 회귀 방지 — 과거 버그 못 박기)

세팅: @testing-library/react+jest-dom+user-event+jsdom, 파일별 @vitest-environment,
매 테스트 후 cleanup(globals 미사용 시 DOM 누적 방지).

프론트 테스트 9→22. coverage 게이트·lint·build 통과.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 08:39:01 +09:00
48bab9b2dd fix(test): vitest 대상을 src로 한정 (e2e Playwright 스펙 제외)
All checks were successful
CI / backend-test (push) Successful in 59s
CI / frontend-build (push) Successful in 30s
CI / backend-dep-scan (push) Successful in 28s
vitest가 기본으로 *.spec.js를 잡아 e2e/의 Playwright 스펙까지 실행하려다
frontend-build CI가 실패했다. test.include를 src/**로 좁혀 단위(vitest)와
E2E(Playwright)를 분리한다. (CI가 잡아준 회귀)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 08:30:07 +09:00
6ba8776e04 ci: 10점 향한 빠른 승리 3종 — 브랜치 보호·커버리지·린트/포맷
Some checks failed
CI / frontend-build (push) Has been cancelled
CI / backend-test (push) Has been cancelled
1) 브랜치 보호(main): CI 두 개 초록불 + 승인 1 없이는 merge 불가,
   학생 직접 push 차단(PR 워크플로), 관리자만 운영·배포용 직접 push (Gitea 설정)
2) 커버리지 측정:
   - 백엔드 JaCoCo — 현재 라인 36.7%, 바닥 30% ratchet(테스트 지우며 후퇴하면 빌드 실패)
   - 프론트 vitest 커버리지 — 채점 로직 runSql.js 라인 40% 바닥
3) 린트/포맷 CI 강제:
   - 프론트 ESLint 9(flat) 신규 — 버그류 에러, 훅 오용 검출 (현재 위반 0)
   - 백엔드 Spotless — 안 쓰는 import·줄끝 공백·파일끝 개행 (기존 코드 이미 clean, 재정렬 없음)
   - ci.yml에 포맷검사·린트·커버리지 단계 추가

백엔드 37개 테스트 + 커버리지 게이트 통과, 프론트 ESLint·커버리지 통과 확인.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 18:02:08 +09:00
111590104e feat: 수습 학습 플랫폼 최초 구축 (React + Spring Boot + PostgreSQL)
- 로그인/회원가입/아이디찾기/비밀번호재설정 (세션 기반)
- 대시보드(주차별 진도 체크리스트), 학습 문서 뷰어(17종), 과제 제출/멘토 피드백
- 코딩 기초·개발 환경 설치 가이드 학습 페이지
- 전 소스 한국어 학습 주석 — 수습생 교육용 저장소
- Docker 배포 구성 (Caddy + Spring Boot + PG + Gitea)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 08:18:12 +09:00