Commit 41f680fe71f53609369ac9e9c5bb6ec7888cf155

Authored by 刘宏哲
1 parent 09bd0687

feat(app): bug fixed

@@ -163,12 +163,16 @@ class WeeklyHrvReport implements HrvPeriodReport { @@ -163,12 +163,16 @@ class WeeklyHrvReport implements HrvPeriodReport {
163 date: start.add(const Duration(days: 6)), 163 date: start.add(const Duration(days: 6)),
164 averageHrv: 15, 164 averageHrv: 15,
165 averageHeartRate: 71, 165 averageHeartRate: 71,
  166 + lastRestingHrValue: 71,
  167 + comprehensiveStressScore: 85,
166 level: HrvStressLevel.overload, 168 level: HrvStressLevel.overload,
167 ); 169 );
168 final maxDay = HrvDayReport( 170 final maxDay = HrvDayReport(
169 date: start.add(const Duration(days: 1)), 171 date: start.add(const Duration(days: 1)),
170 averageHrv: 90, 172 averageHrv: 90,
171 averageHeartRate: 84, 173 averageHeartRate: 84,
  174 + lastRestingHrValue: 84,
  175 + comprehensiveStressScore: 18,
172 level: HrvStressLevel.excellent, 176 level: HrvStressLevel.excellent,
173 ); 177 );
174 return WeeklyHrvReport( 178 return WeeklyHrvReport(
@@ -190,6 +194,8 @@ class WeeklyHrvReport implements HrvPeriodReport { @@ -190,6 +194,8 @@ class WeeklyHrvReport implements HrvPeriodReport {
190 date: start, 194 date: start,
191 averageHrv: 62, 195 averageHrv: 62,
192 averageHeartRate: 86, 196 averageHeartRate: 86,
  197 + lastRestingHrValue: 86,
  198 + comprehensiveStressScore: 48,
193 level: HrvStressLevel.normal, 199 level: HrvStressLevel.normal,
194 ), 200 ),
195 maxDay, 201 maxDay,
@@ -197,24 +203,32 @@ class WeeklyHrvReport implements HrvPeriodReport { @@ -197,24 +203,32 @@ class WeeklyHrvReport implements HrvPeriodReport {
197 date: start.add(const Duration(days: 2)), 203 date: start.add(const Duration(days: 2)),
198 averageHrv: 68, 204 averageHrv: 68,
199 averageHeartRate: 88, 205 averageHeartRate: 88,
  206 + lastRestingHrValue: 88,
  207 + comprehensiveStressScore: 24,
200 level: HrvStressLevel.excellent, 208 level: HrvStressLevel.excellent,
201 ), 209 ),
202 HrvDayReport( 210 HrvDayReport(
203 date: start.add(const Duration(days: 3)), 211 date: start.add(const Duration(days: 3)),
204 averageHrv: 85, 212 averageHrv: 85,
205 averageHeartRate: 85, 213 averageHeartRate: 85,
  214 + lastRestingHrValue: 85,
  215 + comprehensiveStressScore: 16,
206 level: HrvStressLevel.excellent, 216 level: HrvStressLevel.excellent,
207 ), 217 ),
208 HrvDayReport( 218 HrvDayReport(
209 date: start.add(const Duration(days: 4)), 219 date: start.add(const Duration(days: 4)),
210 averageHrv: 86, 220 averageHrv: 86,
211 averageHeartRate: 87, 221 averageHeartRate: 87,
  222 + lastRestingHrValue: 87,
  223 + comprehensiveStressScore: 20,
212 level: HrvStressLevel.excellent, 224 level: HrvStressLevel.excellent,
213 ), 225 ),
214 HrvDayReport( 226 HrvDayReport(
215 date: start.add(const Duration(days: 5)), 227 date: start.add(const Duration(days: 5)),
216 averageHrv: 45, 228 averageHrv: 45,
217 averageHeartRate: 70, 229 averageHeartRate: 70,
  230 + lastRestingHrValue: 70,
  231 + comprehensiveStressScore: 63,
218 level: HrvStressLevel.attention, 232 level: HrvStressLevel.attention,
219 ), 233 ),
220 minDay, 234 minDay,
  1 +import 'package:doublefeel_flutter/app/modules/hrv_report/models/hrv_report_models.dart';
  2 +import 'package:flutter_test/flutter_test.dart';
  3 +
  4 +void main() {
  5 + test(
  6 + 'premium weekly preview provides data for every chart and tooltip day',
  7 + () {
  8 + final report = WeeklyHrvReport.premiumPreview(DateTime(2026, 7, 27));
  9 +
  10 + expect(report.days, hasLength(7));
  11 + expect(
  12 + report.days.map((day) => day.comprehensiveStressScore),
  13 + everyElement(allOf(isNotNull, inInclusiveRange(0, 100))),
  14 + );
  15 + expect(
  16 + report.days.map((day) => day.lastRestingHrValue),
  17 + everyElement(isNotNull),
  18 + );
  19 + },
  20 + );
  21 +}