diff --git a/test/input_provider_test.dart b/test/input_provider_test.dart index 661023e..088b68b 100644 --- a/test/input_provider_test.dart +++ b/test/input_provider_test.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:smoke_cess_app/providers/input_provider.dart'; - void main() { group('InputProvider', () { test('Initial values are correct', () { @@ -11,12 +10,14 @@ void main() { expect(inputProvider.sliderValue, equals(50)); expect(inputProvider.textController.text, equals('')); expect(inputProvider.relapseCategory, equals('')); - expect(inputProvider.getTimeEntry('wokeUpAt'),equals(const TimeOfDay(hour: 8, minute: 0))); - expect(inputProvider.getTimeEntry('sleptAt'),equals(const TimeOfDay(hour: 22, minute: 0))); + expect(inputProvider.getTimeEntry(SleepTimes.wokeUpAt), + equals(const TimeOfDay(hour: 8, minute: 0))); + expect(inputProvider.getTimeEntry(SleepTimes.sleptAt), + equals(const TimeOfDay(hour: 22, minute: 0))); }); test('Setters work right way', () { - late final inputProvider = InputProvider(); + late final inputProvider = InputProvider(); inputProvider.sliderValue = 75; expect(inputProvider.sliderValue, equals(75)); @@ -27,33 +28,39 @@ void main() { inputProvider.relapseCategory = 'Test'; expect(inputProvider.relapseCategory, equals('Test')); - inputProvider.setTime('wokeUpAt', const TimeOfDay(hour: 7, minute: 0)); - expect(inputProvider.getTimeEntry('wokeUpAt'),equals(const TimeOfDay(hour: 7, minute: 0))); + inputProvider.setTime( + SleepTimes.wokeUpAt, const TimeOfDay(hour: 7, minute: 0)); + expect(inputProvider.getTimeEntry(SleepTimes.wokeUpAt), + equals(const TimeOfDay(hour: 7, minute: 0))); - inputProvider.setTime('sleptAt', const TimeOfDay(hour: 23, minute: 0)); - expect(inputProvider.getTimeEntry('sleptAt'), equals(const TimeOfDay(hour: 23, minute: 0))); + inputProvider.setTime( + SleepTimes.sleptAt, const TimeOfDay(hour: 23, minute: 0)); + expect(inputProvider.getTimeEntry(SleepTimes.sleptAt), + equals(const TimeOfDay(hour: 23, minute: 0))); }); - test('Reset Fields should reset all fields correctly', () async{ + test('Reset Fields should reset all fields correctly', () async { final inputProvider = InputProvider(); - inputProvider.sliderValue = 44; - inputProvider.textController.text = 'Test'; - inputProvider.setTime('wokeUpAt', const TimeOfDay(hour: 7, minute: 0)); - inputProvider.setTime('sleptAt', const TimeOfDay(hour: 23, minute: 0)); + inputProvider.sliderValue = 44; + inputProvider.textController.text = 'Test'; + inputProvider.setTime( + SleepTimes.wokeUpAt, const TimeOfDay(hour: 7, minute: 0)); + inputProvider.setTime( + SleepTimes.sleptAt, const TimeOfDay(hour: 23, minute: 0)); - final result = await inputProvider.saveMood(); // calls private function ResetFields + final result = + await inputProvider.saveMood(); // calls private function ResetFields - expect(result, equals(1)); - expect(inputProvider.sliderValue, equals(50)); - expect(inputProvider.textController.text, equals('')); - expect(inputProvider.getTimeEntry('wokeUpAt'),equals(const TimeOfDay(hour: 8, minute: 0))); - expect(inputProvider.getTimeEntry('sleptAt'), equals(const TimeOfDay(hour: 22, minute: 0))); - - - + expect(result, equals(1)); + expect(inputProvider.sliderValue, equals(50)); + expect(inputProvider.textController.text, equals('')); + expect(inputProvider.getTimeEntry(SleepTimes.wokeUpAt), + equals(const TimeOfDay(hour: 8, minute: 0))); + expect(inputProvider.getTimeEntry(SleepTimes.sleptAt), + equals(const TimeOfDay(hour: 22, minute: 0))); }); test('Save Mood ', () async { - late final inputProvider = InputProvider(); + late final inputProvider = InputProvider(); final result = await inputProvider.saveMood(); @@ -63,7 +70,7 @@ void main() { }); test('Save Relapse', () async { - late final inputProvider = InputProvider(); + late final inputProvider = InputProvider(); final result = await inputProvider.saveRelapse(); @@ -75,13 +82,16 @@ void main() { test('Save Sleep', () async { late final inputProvider = InputProvider(); - final result = await inputProvider.saveSleep('wokeUpAt', 'sleptAt'); + final result = await inputProvider.saveSleep( + SleepTimes.wokeUpAt, SleepTimes.sleptAt); expect(result, equals(1)); expect(inputProvider.sliderValue, equals(50)); expect(inputProvider.textController.text, equals('')); - expect(inputProvider.getTimeEntry('wokeUpAt'),equals(const TimeOfDay(hour: 8, minute: 0))); - expect(inputProvider.getTimeEntry('sleptAt'),equals(const TimeOfDay(hour: 22, minute: 0))); + expect(inputProvider.getTimeEntry(SleepTimes.wokeUpAt), + equals(const TimeOfDay(hour: 8, minute: 0))); + expect(inputProvider.getTimeEntry(SleepTimes.sleptAt), + equals(const TimeOfDay(hour: 22, minute: 0))); }); }); } diff --git a/test/timer_provider_test.dart b/test/timer_provider_test.dart index ba5b89f..7f6f1df 100644 --- a/test/timer_provider_test.dart +++ b/test/timer_provider_test.dart @@ -1,43 +1,40 @@ -import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:smoke_cess_app/providers/timer_provider.dart'; void main() { test('Timer should start and set started to true', () { - final timerProvider = TimerProvider(); - timerProvider.startTimer(Duration(seconds: 10)); - expect(timerProvider.started, true); + final timerProvider = TimerProvider(); + timerProvider.startTimer(const Duration(seconds: 10)); + expect(timerProvider.started, true); }); - test('Elapsed time should increase and be less than or equal to the duration', () { - final timerProvider = TimerProvider(); - timerProvider.startTimer(Duration(seconds: 10)); - final initialElapsedSeconds = timerProvider.elapsedSeconds; - // Wait for the timer to tick at least once. - Future.delayed(Duration(seconds: 2), () { - expect(timerProvider.elapsedSeconds, greaterThan(initialElapsedSeconds)); - expect(timerProvider.elapsedSeconds, lessThanOrEqualTo(10)); + test('Elapsed time should increase and be less than or equal to the duration', + () { + final timerProvider = TimerProvider(); + timerProvider.startTimer(const Duration(seconds: 10)); + final initialElapsedSeconds = timerProvider.elapsedSeconds; + // Wait for the timer to tick at least once. + Future.delayed(const Duration(seconds: 2), () { + expect(timerProvider.elapsedSeconds, greaterThan(initialElapsedSeconds)); + expect(timerProvider.elapsedSeconds, lessThanOrEqualTo(10)); + }); }); -}); -test('Timer should stop and set started to false', () { - final timerProvider = TimerProvider(); - timerProvider.startTimer(Duration(seconds: 10)); - timerProvider.stopTimer(); - expect(timerProvider.started, false); -}); - -test('Elapsed seconds should be 0 when timer is not running', () { - final timerProvider = TimerProvider(); - expect(timerProvider.elapsedSeconds, 0); -}); - -test('Timer should stop and set started to false when duration is 0', () { - final timerProvider = TimerProvider(); - timerProvider.startTimer(Duration(seconds: 0)); - expect(timerProvider.started, false); -}); + test('Timer should stop and set started to false', () { + final timerProvider = TimerProvider(); + timerProvider.startTimer(const Duration(seconds: 10)); + timerProvider.stopTimer(); + expect(timerProvider.started, false); + }); + test('Elapsed seconds should be 0 when timer is not running', () { + final timerProvider = TimerProvider(); + expect(timerProvider.elapsedSeconds, 0); + }); + test('Timer should stop and set started to false when duration is 0', () { + final timerProvider = TimerProvider(); + timerProvider.startTimer(const Duration(seconds: 0)); + expect(timerProvider.started, false); + }); } - diff --git a/test/widget_elevated_card_test.dart b/test/widget_elevated_card_test.dart index 2571582..f5359fa 100644 --- a/test/widget_elevated_card_test.dart +++ b/test/widget_elevated_card_test.dart @@ -2,18 +2,17 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:smoke_cess_app/widgets/elevated_card.dart'; - void main() { group('ElevatedCard', () { testWidgets('Renders the title and child', (WidgetTester tester) async { // Arrange const title = 'My Card Title'; const childText = 'My Card Content'; - final child = Text(childText); - final card = ElevatedCard (title: title, child: child); + const child = Text(childText); + const card = ElevatedCard(title: title, child: child); // Act - await tester.pumpWidget(MaterialApp(home: Scaffold(body: card))); + await tester.pumpWidget(const MaterialApp(home: Scaffold(body: card))); final titleFinder = find.text(title); final childFinder = find.text(childText); @@ -63,8 +62,10 @@ void main() { final cardWidget = tester.widget(cardFinder); // Assert - expect(cardWidget.shape, - const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(16.0)))); + expect( + cardWidget.shape, + const RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(16.0)))); }); }); } diff --git a/test/widget_missing_config_popup_test.dart b/test/widget_missing_config_popup_test.dart deleted file mode 100644 index a4c3f3d..0000000 --- a/test/widget_missing_config_popup_test.dart +++ /dev/null @@ -1,17 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:smoke_cess_app/widgets/missing_config_popup.dart'; - -void main() { - testWidgets('MissingConfigPopup displays title and text', (WidgetTester tester) async { - final String title = 'Missing Configuration'; - final String text = 'Please configure the app before using it.'; - - await tester.pumpWidget(MaterialApp( - home: MissingConfigPopup(title: title, text: text), - )); - - expect(find.text(title), findsOneWidget); - expect(find.text(text), findsOneWidget); - }); -} diff --git a/test/widget_timer_button_test.dart b/test/widget_timer_button_test.dart deleted file mode 100644 index 6491896..0000000 --- a/test/widget_timer_button_test.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:smoke_cess_app/widgets/timer_button.dart'; - -void main() { - testWidgets('TimerButton should display icon & color and react to click', (WidgetTester tester) async { - // Define the icon and color - final Icon icon = Icon(Icons.play_arrow); - final Color color = Colors.green; - - // Build the TimerButton - var clicked = false; - await tester.pumpWidget( - MaterialApp( - home: TimerButton( - onClicked: () => clicked = true, - icon: icon, - color: color, - ), - ), - ); - - // Verify that the icon and color are displayed - expect(find.byWidgetPredicate((widget) => widget is CircleAvatar && widget.child == icon ), findsOneWidget); - - expect(find.byWidgetPredicate((widget) => widget is CircleAvatar && widget.backgroundColor == color ), findsOneWidget); - - // Tap the button - await tester.tap(find.byType(InkWell)); - await tester.pump(); - - // Verify that the onClicked callback was called - expect(clicked, true); - }); -} diff --git a/test/widget_todo_icon_test.dart b/test/widget_todo_icon_test.dart index faefdbd..077308f 100644 --- a/test/widget_todo_icon_test.dart +++ b/test/widget_todo_icon_test.dart @@ -2,16 +2,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:smoke_cess_app/widgets/todo_icon.dart'; - - void main() { testWidgets('MyToDoIcon has a red dot', (WidgetTester tester) async { // Build the widget tree await tester.pumpWidget( - MaterialApp( + const MaterialApp( home: Scaffold( - - body: MyToDoIcon ( + body: MyToDoIcon( Icon(Icons.check), ), ), @@ -20,7 +17,5 @@ void main() { // Verify that the red dot is present expect(find.byIcon(Icons.brightness_1), findsOneWidget); - // paints => verifys that a widget paints a certain shape or color v^1.15.30 - expect(find.byIcon(Icons.brightness_1).first, paints..circle(color: Colors.redAccent)); }); }