2.9 KiB
2.9 KiB
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와 네트워크 회복성 검증
- 확인 필요: 없음