82 lines
2.9 KiB
Markdown
82 lines
2.9 KiB
Markdown
# Milestone: 알림 액션 흐름 검증
|
|
|
|
## 위치
|
|
|
|
- Roadmap: `agent-ops/roadmap/ROADMAP.md`
|
|
- Phase: `agent-ops/roadmap/phase/android-runtime-confidence/PHASE.md`
|
|
|
|
## 목표
|
|
|
|
Mattermost notification display, tap, dismiss, inline reply 흐름을 테스트 가능한 단위로 나눈다. 실제 system notification과 사용자의 상호작용이 필요한 부분은 manual smoke와 emulator integration으로 분리한다.
|
|
|
|
## 상태
|
|
|
|
[계획]
|
|
|
|
## 구현 잠금
|
|
|
|
- 상태: 해제
|
|
- 결정 필요: 없음
|
|
|
|
## 범위
|
|
|
|
- notification builder 입력과 output contract 검증
|
|
- notification tap event가 Dart opened stream으로 전달되는 경로 검증
|
|
- dismiss receiver와 inline reply receiver 경로 검증
|
|
- manual smoke checklist와 자동 테스트 경계 정리
|
|
|
|
## 필수 기능
|
|
|
|
### Epic: [display] Notification 표시
|
|
|
|
NotificationHelper가 Mattermost payload를 기대한 알림 형태로 구성하는지 확인한다.
|
|
|
|
- [ ] [title-message] title과 message 표시 계약을 테스트한다
|
|
- [ ] [threading] CRT/thread 관련 grouping 기준을 테스트한다
|
|
- [ ] [avatar] avatar 또는 fallback icon 처리를 테스트한다
|
|
|
|
### Epic: [interaction] 사용자 상호작용
|
|
|
|
Tap, dismiss, inline reply를 event 또는 native action으로 연결한다.
|
|
|
|
- [ ] [tap-opened] notification tap이 opened event로 이어지는 경로를 검증한다
|
|
- [ ] [dismiss] dismiss receiver가 native record 정리 경로를 호출하는지 검증한다
|
|
- [ ] [inline-reply] inline reply text가 reply delivery 경로로 전달되는지 검증한다
|
|
|
|
### Epic: [manual] 수동 검증 경계
|
|
|
|
자동화가 어려운 system UI 상호작용을 명확한 수동 절차로 남긴다.
|
|
|
|
- [ ] [checklist] README manual smoke checklist를 실제 runtime 경로와 맞춘다
|
|
- [ ] [logs] 수동 검증 중 확인할 log 또는 observable signal을 정리한다
|
|
|
|
## 완료 기준
|
|
|
|
- [ ] notification 생성 로직이 payload fixture로 검증된다
|
|
- [ ] tap opened event 경로가 example 또는 native test에서 확인된다
|
|
- [ ] inline reply와 dismiss 경로가 최소 하나 이상의 자동 테스트 또는 명확한 manual smoke로 보호된다
|
|
- [ ] 자동화 불가능한 항목이 문서에 분리되어 있다
|
|
|
|
## 완료 리뷰
|
|
|
|
- 상태: 없음
|
|
- 요청일: 없음
|
|
- 완료 근거: 없음
|
|
- 리뷰 필요:
|
|
- [ ] 사용자가 완료 결과를 확인했다
|
|
- [ ] archive 이동을 승인했다
|
|
- 리뷰 코멘트: 없음
|
|
|
|
## 범위 제외
|
|
|
|
- 실제 Mattermost 서버 reply 성공 보장
|
|
- 앱별 navigation UI 검증
|
|
- iOS/macOS notification 구현
|
|
|
|
## 작업 컨텍스트
|
|
|
|
- 관련 경로: `android/src/main/kotlin/**`, `android/src/main/java/**`, `example/integration_test/**`, `README.md`
|
|
- 표준선(선택): system UI 의존 테스트는 flaky하면 manual smoke 또는 선택형 emulator job으로 둔다
|
|
- 선행 작업: Native 단위 테스트 확장
|
|
- 후속 작업: ACK와 네트워크 회복성 검증
|
|
- 확인 필요: 없음
|