Repository navigation
refactor(afternote): SaveAfternoteUseCase 로 저장 명령 해석 경계를 복원한다 (#1694) - #1838
Conversation
🚧 리뷰 적체 가드 — 이 PR 을 닫습니다팀 리뷰 응답 대기 · 1건
이 저장소는 팀 리뷰 응답 또는 자기 PR 의 변경요청 대응을 기다리는 PR 이 1건이라도 남아 있으면 새 PR 을 열 수 없습니다 (#1136, #1679). 각 PR 에 필요한 리뷰는 한 건입니다 — 누구든 먼저 판정을 내면 그 PR 은 모두의 목록에서 빠집니다. 승인 뒤 변경을 다시 볼 의무는 없고, 변경요청도 작성자가 같은 리뷰어에게 재요청한 뒤 실질 커밋·응답·본문 편집을 남긴 경우에만 다시 리뷰어의 몫이 됩니다. 되살리는 법위 PR 에 필요한 리뷰나 작성자 조치를 끝낸 뒤 이 PR 을 다시 여세요. 브랜치는 지워지지 않았고 커밋도 그대로입니다. gh pr reopen 1838리뷰보다 이 PR 이 급하면 |
|
이 PR 은
|
|
형제 충돌이 해소됐다 — 지금은 이 PR 과 같은 파일을 서로 다르게 고친 열린 PR 이 없다 (#1750). |
4adcf07 to
4f2deb5
Compare
|
음성 첨부 PR #1625 가 시안 근거 없음으로 닫혀(#1979) 이 브랜치를 그 커밋 없이 다시 쌓았습니다. 이전 tip 이 tip 에서 afternote domain / data / presentation 단위 테스트 19 / 100 / 333 건 통과(실패·오류·skip 0), 세 모듈 ktlintCheck, 앱 main·unitTest·androidTest Kotlin 컴파일을 확인했습니다. 다른 변경은 없습니다. |
Sadturtleman
left a comment
There was a problem hiding this comment.
승인 뒤 변화는 부모의 수정 입력 이름 변경(UpdateAfternoteInput·MemorialPatchInput) 반영뿐이고 저장 경계 로직은 그대로입니다. 승인합니다.
51d8dbc to
4f9d86a
Compare
…nto refactor/1694-save-afternote-usecase
Closes #1694
Refs #1688
완성된
SaveAfternoteCommand의 생성 4종·수정 분기를 domain의SaveAfternoteUseCase에서 해석합니다. ViewModel은 명령을 만든 뒤 UseCase에 넘기고 저장소 메서드 선택을 제거합니다. 입력 검증·폼 매핑·미디어 입력 선택·저장 상태 처리는 기존 책임에 남습니다.직접 base는 #1837의
refactor/1743-narrow-user-contracts입니다. 사진 값 객체 #1971과 편집기 MVI #1972가 동일한 UseCase를 소비하므로 뒤에서 저장 경계를 다시 이동하지 않습니다. 부분 PATCH의 payload와 취소·성공·실패 전파를 보존합니다.검증
HEAD
51d8dbc0800ee6ae3f26eaed18c76c6a16344136에서 presentation 340개, domain 19개, data 98개 테스트가 통과했습니다(실패·오류·건너뜀 0). presentation ktlint, 실제 base 대비 전체 diff의 모듈 소유권 검사와git diff --check를 통과했습니다. domain/data ktlint도 통과했습니다.🧪 CI Test Plan
{ "androidTest": { "mode": "none", "reason": "domain의 완성된 저장 명령 해석 경계를 복원하고 ViewModel 호출 및 테스트 주입을 맞춘다. 실제 부모 대비 화면·네비게이션·기기 상호작용 변경은 없다. 라우팅·payload 보존은 domain 테스트, 저장 성공·실패·복원은 presentation 테스트가 검증하며 Hilt javac와 계측 APK 조립도 통과했다.", "tests": [] } }