Fixed Tests
parent
b7d5f1d51f
commit
999aa8fc42
|
@ -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));
|
||||
|
||||
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)));
|
||||
|
||||
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
|
||||
|
||||
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)));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -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<Card>(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))));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
}
|
|
@ -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);
|
||||
});
|
||||
}
|
|
@ -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));
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue