70 lines
2.2 KiB
Dart
70 lines
2.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:moody/utils/widgets/question_slider_widget.dart';
|
|
|
|
|
|
void main() {
|
|
testWidgets('QuestionSliderWidget displays the initial value', (WidgetTester tester) async {
|
|
const testKey = Key('slider');
|
|
final DateTime date = DateTime.now();
|
|
const String questionText = "How are you feeling today?";
|
|
const double initialSliderValue = 50.0;
|
|
const bool isSliderEnabled = true;
|
|
const Color sliderColor = Colors.blue;
|
|
|
|
await tester.pumpWidget(MaterialApp(
|
|
home: Scaffold(
|
|
body: QuestionSliderWidget(
|
|
key: testKey,
|
|
date: date,
|
|
questionText: questionText,
|
|
initialSliderValue: initialSliderValue,
|
|
isSliderEnabled: isSliderEnabled,
|
|
onSliderChanged: (SliderChangeData data) {},
|
|
onSliderPositionChanged: (double position) {},
|
|
sliderColor: sliderColor,
|
|
),
|
|
),
|
|
));
|
|
|
|
// Verify that the initial slider value is set.
|
|
final Slider sliderWidget = tester.firstWidget(find.byType(Slider));
|
|
expect(sliderWidget.value, initialSliderValue);
|
|
});
|
|
|
|
testWidgets('QuestionSliderWidget updates value on slide', (WidgetTester tester) async {
|
|
const testKey = Key('slider');
|
|
final DateTime date = DateTime.now();
|
|
const String questionText = "How are you feeling today?";
|
|
const double initialSliderValue = 50.0;
|
|
bool sliderMoved = false;
|
|
const Color sliderColor = Colors.blue;
|
|
|
|
await tester.pumpWidget(MaterialApp(
|
|
home: Scaffold(
|
|
body: QuestionSliderWidget(
|
|
key: testKey,
|
|
date: date,
|
|
questionText: questionText,
|
|
initialSliderValue: initialSliderValue,
|
|
isSliderEnabled: true,
|
|
onSliderChanged: (SliderChangeData data) {
|
|
sliderMoved = true;
|
|
},
|
|
onSliderPositionChanged: (double position) {},
|
|
sliderColor: sliderColor,
|
|
),
|
|
),
|
|
));
|
|
|
|
// Move the slider.
|
|
await tester.drag(find.byType(Slider), const Offset(100, 0));
|
|
await tester.pumpAndSettle();
|
|
|
|
// Verify that the slider moved callback was triggered.
|
|
expect(sliderMoved, true);
|
|
});
|
|
|
|
|
|
}
|