From 57e550887810319fa67829f506a3fb6b215b8f14 Mon Sep 17 00:00:00 2001 From: Developer Date: Wed, 2 Sep 2026 21:13:25 -0400 Subject: [PATCH] fix: restore clean build and test baseline --- .../field_test/field_test_logger.dart | 2 +- pubspec.lock | 8 +-- pubspec.yaml | 2 +- test/road_alert_test.dart | 54 ++++++++++++++++++- 4 files changed, 59 insertions(+), 7 deletions(-) diff --git a/lib/services/field_test/field_test_logger.dart b/lib/services/field_test/field_test_logger.dart index 6cf2e8c..0f547e3 100644 --- a/lib/services/field_test/field_test_logger.dart +++ b/lib/services/field_test/field_test_logger.dart @@ -804,7 +804,7 @@ class FieldTestLogger { databaseSamplesLost: drift.Value(_droppedEventsCount), eventCount: drift.Value(events.length), overallConfidence: drift.Value(qualityReport.overallScore / 100.0), - rideQualityScore: drift.Value(qualityReport.overallScore.toDouble()), + rideQualityScore: drift.Value(qualityReport.overallScore), rideQualityRating: drift.Value(qualityReport.rating), wasRecoveredAfterCrash: drift.Value(wasRecovered), wasInterrupted: drift.Value(ride?.endTime == null || wasRecovered), diff --git a/pubspec.lock b/pubspec.lock index 7a96141..cadb57f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -993,18 +993,18 @@ packages: dependency: "direct main" description: name: permission_handler - sha256: e7317eb2eb611d1bf0386b6b974be9c50449f975f19a90a7b8ea013550302b30 + sha256: fe54465bcc62a4564c6e4db337bbaded6c0c0fa6e10487414436d163114784f6 url: "https://pub.dev" source: hosted - version: "13.0.1" + version: "12.0.3" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: d7676c6fcf2f0b92537ec41476a6ead45a00b0d8bbb852395a6f9f33f49d6242 + sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6" url: "https://pub.dev" source: hosted - version: "14.0.0" + version: "13.0.1" permission_handler_apple: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index e8d25d0..0e564e5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -43,7 +43,7 @@ dependencies: drift: ^2.34.3 sqlite3_flutter_libs: ^0.6.0+eol shared_preferences: ^2.5.5 - permission_handler: ^13.0.1 + permission_handler: 12.0.3 wakelock_plus: ^1.7.0 flutter_dotenv: ^6.0.1 go_router: ^18.0.0 diff --git a/test/road_alert_test.dart b/test/road_alert_test.dart index a1bd114..a30373a 100644 --- a/test/road_alert_test.dart +++ b/test/road_alert_test.dart @@ -1,3 +1,4 @@ +import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -6,10 +7,57 @@ import 'package:motorcycle_dash/services/alerts/tomtom_road_alert_provider.dart' import 'package:motorcycle_dash/services/alerts/local_road_alert_provider.dart'; import 'package:motorcycle_dash/services/alerts/road_alert_providers.dart'; import 'package:motorcycle_dash/services/alerts/road_alert_service.dart'; +import 'package:motorcycle_dash/services/field_test/field_test_logger.dart'; +import 'package:motorcycle_dash/models/field_test_event.dart'; + +class _NoOpFieldTestLogger extends Fake implements FieldTestLogger { + @override + void log({ + required FieldTestEventType eventType, + required EventSeverity severity, + required String message, + int? rideId, + DateTime? timestamp, + DateTime? telemetryTimestamp, + int? gpsAgeMs, + double? speed, + double? latitude, + double? longitude, + double? gpsAccuracy, + double? leanAngle, + double? longitudinalG, + double? lateralG, + double? overallConfidence, + Map? metadata, + }) {} +} void main() { TestWidgetsFlutterBinding.ensureInitialized(); + const flutterTtsChannel = MethodChannel('flutter_tts'); + + setUpAll(() { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(flutterTtsChannel, (call) async { + switch (call.method) { + case 'setLanguage': + case 'setSpeechRate': + case 'setVolume': + case 'speak': + case 'stop': + return 1; + default: + return null; + } + }); + }); + + tearDownAll(() { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(flutterTtsChannel, null); + }); + group('Road Alert System Tests', () { test('RoadAlertCategory display names and colors', () { expect(RoadAlertCategory.police.displayName, equals('Police')); @@ -63,7 +111,11 @@ void main() { test('RoadAlertService dismissAlert and clearAllAlerts function correctly', () async { SharedPreferences.setMockInitialValues({}); - final container = ProviderContainer(); + final container = ProviderContainer( + overrides: [ + fieldTestLoggerProvider.overrideWithValue(_NoOpFieldTestLogger()), + ], + ); addTearDown(container.dispose); final service = container.read(roadAlertServiceProvider);