v0.17.9 필수 테스트 범위 — 75 CASE
2026-09-10 최신 사용자 결정: 와드업·관리자 관련 테스트를 제외하고, 확인 질문에도 **“관련 단위·컴포넌트·DB 검사도 모두 제외”**라고 답했다. 앞선 CASE-056만 제외한 78건 결정을 대체한다.
| 구분 | 현재 범위 |
|---|---|
| 필수 CASE | 앱53 + 화면 정합성22 = 75 CASE |
| 기존 증거의 품질 판정 | 앱93d4cad6의 유지된75건, 1,125조건 모두 P / F0 / U0 |
| 제외 CASE | 007 관리자 계정 삭제, 018 신고·차단부터 관리자 제재까지 통합, 055 와드업 인입, 056 관리자 Motra 인입·일반 사용자 권한 거절 |
| 앱 단위 검사 | 전용21파일과 혼합10파일의 와드업·관리자 검사를 수동 영역으로 이동 |
| DB 검사 | 전용20파일과 혼합4파일의 대상 검사를 수동 영역으로 이동 |
| 독립 관리자 | 기존155개 단위·컴포넌트 검사와 CASE-056은 자동 실행하지 않음. 타입·빌드 검증 유지 |
현재75건 목록과 제외 파일·분리한 검사 목록을 연결한다. 기존 79건 감사 원본과 SHA-256은 보존한다. 제외한 검사는 skip이나 통과로 집계하지 않으며 기존 CASE-056의 U도 P로 바꾸지 않는다. 위 품질 판정은 기존 증거의 범위 재집계이지 새 실행 결과가 아니다. 15개 조건과 60초·10초·자동 재시도0은 유지한다.
실제 실행 경계
- 번호 CASE: case.json의 명시적 automaticExclusion을 공통 발견 도구와 기본 Playwright 설정에 연결한다. 원래 준비·권한·실패 주입 executionProfile은 유지한다.
npm run test:e2e-browser:optional만 제외한 앱3건을 선택한다. - 앱 Node 검사: 전용 파일을 같은 위치의
*.optional.mjs로 옮기고 혼합 파일의 대상 test 선언을 분리한다. Node의 자동*.test.mjs발견에서 빠지며 수동으로 파일 경로를 지정하면 실행할 수 있다. 기존 tests/audit/manifest는 재생성하지 않고 변경 신고에 소유자 결정을 남긴다. - DB:
supabase/tests/database에서supabase/optional-tests/database로 옮긴 검사는 기본supabase test db가 실행하지 않는다. 혼합 InBody3단언·운영 스케줄과 보존 정리11단언·대상 근육 유효성5단언·일반 운동 함수 권한2단언은 자동 실행에 유지한다. 수동 실행은 격리 로컬 DB에서 해당 SQL 파일을 명시한다. - 독립 관리자:
check는check:types만 실행하고 빌드를 계속 검사한다. 단위·컴포넌트는npm run test:optional --prefix admin, CASE-056은 기존test:e2e:optional로 수동 실행한다. CI와 배포 check에서 자동 기능 테스트를 호출하지 않는다.
일반 사용자 테스트가 계정 준비·정리에 Auth Admin/service-role을 사용하거나 기록 출처 값으로 wodup을 갖는 것은 제외 사유가 아니다. 일반 계정 삭제·로그인·운동 저장·통계·InBody와 공통 테스트 도구 검사는 유지한다. CASE-018은 신고/차단과 관리자 제재가 연결된 통합 CASE 전체를 수동으로 옮겼으며 사용자 신고·차단의 독립 단위 검사는 유지한다.
제품 기능·DB migration·사용자 원본은 바꾸지 않는다. 앱 변경은 v0.17.9 release 통합 대상으로, 문서·관리자 변경은 독립 PR로 검증한다. Production 반영은 별도다.