MotorSignal-App/test/dashboard_widgets_test.dart

61 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:motorcycle_dash/features/dashboard/widgets/g_force_visualizer.dart';
import 'package:motorcycle_dash/features/dashboard/widgets/lean_visualizer.dart';
import 'package:motorcycle_dash/features/rides/ride_state_machine.dart';
void main() {
testWidgets('GForceVisualizer renders correctly', (WidgetTester tester) async {
final session = RideSession(
state: RideState.riding,
startTime: DateTime.now(),
maxAccelG: 1.2,
maxBrakingG: 0.8,
maxLeanLeft: 45,
maxLeanRight: 40,
);
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: GForceVisualizer(
accelG: 0.5,
lateralG: 0.5,
session: session,
),
),
),
);
expect(find.text('G-FORCE'), findsOneWidget);
expect(find.text('ACC: 1.20'), findsOneWidget);
expect(find.text('BRK: 0.80'), findsOneWidget);
});
testWidgets('LeanVisualizer renders correctly', (WidgetTester tester) async {
final session = RideSession(
state: RideState.riding,
startTime: DateTime.now(),
maxAccelG: 1.2,
maxBrakingG: 0.8,
maxLeanLeft: 45,
maxLeanRight: 40,
);
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: LeanVisualizer(
lean: -30,
session: session,
),
),
),
);
expect(find.text('LEAN ANGLE'), findsOneWidget);
expect(find.text('30°'), findsOneWidget);
expect(find.text('LEFT'), findsOneWidget);
});
}