작성일: 2026년 4월 3일 진행 단계: Phase 8 (테스트 및 버그 수정) 계속 이전 일지: Day 8 (Phase 8 테스트 작성 + 버그 수정 1차)


✅ 이번 세션 진행 현황

작업 상태
전체 테스트 68개 통과 확인 ✅ 완료
Statistics 화면 백엔드 연동 수정 ✅ 완료
Dosage 단위 순서 변경 ✅ 완료
Taken/Skipped 재선택 UX 개선 ✅ 완료
DropdownButtonFormField overflow 수정 ✅ 완료
단위 테스트 백엔드 스펙 맞게 업데이트 ✅ 완료

1. 전체 테스트 결과

단위 테스트:   51개 통과
위젯 테스트:   17개 통과
전체:         68개 통과 ✅

패키지명 수정

테스트 파일 import 경로가 pillly_app 으로 작성됐으나 실제 패키지명이 pillly 임.

find test/ -name "*.dart" -exec sed -i '' 's/package:pillly_app/package:pillly/g' {} \\;

2. Statistics 화면 백엔드 연동 수정

문제

Flutter DoseStats 모델이 기대하는 응답 구조와 실제 백엔드 응답 구조 불일치.

항목 Flutter 기대 실제 백엔드
전체 복용률 adherenceRate (0.0~1.0) overall_rate (0~100 정수)
약별 분류 weeklyBreakdown, monthlyBreakdown by_medication 배열

해결

DoseStats 도메인 모델을 백엔드 실제 응답에 맞게 재설계.

// 변경 전
class DoseStats {
  final int totalDoses;
  final int doneDoses;
  final List<WeeklyStats> weeklyBreakdown;
  final List<MonthlyStats> monthlyBreakdown;
  double get adherenceRate => ...
}

// 변경 후
class MedicationStat {
  final String medicationName;
  final int rate;
  final String? colorTag;
}

class DoseStats {
  final String period;
  final int overallRate;
  final List<MedicationStat> byMedication;
}

dose_stats_screen.dart 도 새 모델에 맞게 전면 재작성. 약별 복용률 바 차트 추가 (이름 + 퍼센트 + 색상 인디케이터).