30 lines
2.1 KiB
Markdown
30 lines
2.1 KiB
Markdown
# 이벤트 수정 누락 필드 보존 리뷰
|
|
|
|
## 리뷰 정보
|
|
- 일자: 2026-11-06
|
|
- 대상: 현재 working tree의 서비스 2개·통합 테스트 2개, P1-T1/P1-GATE
|
|
- 기준: [PRD](../prd.md), [구현 계획](../plan-task.md)
|
|
- 리뷰어: 독립 검토 에이전트 `bg_8220e32c` 및 상위 에이전트 실행 검증
|
|
- 상태: 판정 완료, APPROVE
|
|
|
|
## 검토 근거
|
|
- `EventService.update`, `AdminEventBannerService.update`의 production 변경은 null 가드 네 곳뿐이다.
|
|
- 두 컨트롤러의 선택 파라미터, ADMIN 권한, 응답 구조, Event 엔티티·저장소를 대조했다.
|
|
- 기존 통합 테스트에 추가한 14개 사례는 실제 컨트롤러와 서비스 및 별도 H2 재조회로 누락·명시값·빈값 처리를 확인한다.
|
|
- nullable Boolean 세 상태 및 다른 생략 필드는 Event 스냅샷으로 비교한다. 명시한 false도 별도 값으로 반영한다.
|
|
- 빈 링크는 기존대로 일반 API에서 원문을 저장하고 관리자 API에서 null로 저장한다.
|
|
|
|
## 실행 증거
|
|
| 검증 | 결과 |
|
|
|---|---|
|
|
| TDD RED | 구현자 기록: 23개 중 의도한 assertion 실패 10개. 리뷰어가 RED 원본을 별도로 재실행하지는 않았다. |
|
|
| focused GREEN | 리뷰어가 원본 XML의 일반 12개·관리자 11개, 실패·오류·skip 0을 확인했다. |
|
|
| 실제 HTTP/DB | 부모가 실제 관리자 JWT로 36개 PUT·6개 DB 상태 조합을 실행했고 리뷰어가 QA 소스와 XML을 대조했다. 모두 PASS. |
|
|
| 최종 인접 회귀 | 부모가 임시 QA class 제거 후 저장소 5개 클래스 39개를 재실행, 실패·오류·skip 0 확인. |
|
|
| 빌드·정적 검사 | 부모의 Kotlin 컴파일, ktlintCheck, bootJar, diff 공백 검사 통과. |
|
|
|
|
## 판정
|
|
확정 발견 사항 없음. EVENT-001~005에 부합하고 API 스키마·권한 변경이나 범위 확장이 없다. 독립 리뷰의 명세 준수 및 코드 품질 판정은 APPROVE다.
|
|
|
|
전체 테스트, 운영 MySQL, 실제 관리자 UI, LSP는 미검증이다. 전체 테스트는 사용자 실행 항목이며 위 검증을 전체 성공으로 표현하지 않는다.
|