aboutsummaryrefslogtreecommitdiff
path: root/test/homeview_test.dart
diff options
context:
space:
mode:
Diffstat (limited to 'test/homeview_test.dart')
-rw-r--r--test/homeview_test.dart49
1 files changed, 26 insertions, 23 deletions
diff --git a/test/homeview_test.dart b/test/homeview_test.dart
index d967ddf..770956d 100644
--- a/test/homeview_test.dart
+++ b/test/homeview_test.dart
@@ -1,24 +1,31 @@
-import 'package:flutter/material.dart';
import 'dart:async';
+import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
+import 'package:device_apps/device_apps.dart';
+
import 'package:owyn/pages/Home.dart';
import 'utils.dart';
-Future<void> waitFor(Duration duration) { return Future.delayed(duration, () {}); }
-
void main() {
DateTime time = DateTime.utc(2020, DateTime.march, 7, 10, 25, 30);
- Stream<DateTime> time$ = Stream.value(time).asBroadcastStream();
+ List<Application> favoriteApps = <Application>[
+ makeApp('Reddit', 'org.example.reddit'),
+ makeApp('Spotify', 'org.example.spotify'),
+ makeApp('Twitter', 'org.example.twitter'),
+ makeApp('Youtube', 'org.example.youtube'),
+ ];
testWidgets('Should render with no errors', (WidgetTester tester) async {
- await tester.pumpWidget(wrapper(HomeView(time$)));
+ await tester.pumpWidget(wrapper(HomeView(dateTime: time, favoriteApps: <Application>[])));
});
- testWidgets('Should show formatted default date correctly', (WidgetTester tester) async {
- await tester.pumpWidget(wrapper(HomeView(time$, defaultTime: time)));
+ testWidgets('Should show formatted date correctly', (WidgetTester tester) async {
+ await tester.pumpWidget(wrapper(HomeView(dateTime: time, favoriteApps: <Application>[])));
await tester.pump();
+ await tester.pump(Duration(seconds: 2));
+
var timeWidget = find.byKey(Key('time'));
var dateWidget = find.byKey(Key('date'));
@@ -29,27 +36,23 @@ void main() {
expect(dateWidget, findsOneWidget);
for(var w in dateWidget.evaluate()) {
- expect(w.widget.toString(), contains('7 March'));
+ expect(w.widget.toString(), contains('Saturday, 7 Mar'));
}
});
- testWidgets('Should show streamed formatted date correctly', (WidgetTester tester) async {
- await tester.pumpWidget(wrapper(HomeView(time$)));
+ testWidgets('Should show list of favorite apps', (WidgetTester tester) async {
+ await tester.pumpWidget(wrapper(HomeView(dateTime: time, favoriteApps: favoriteApps)));
await tester.pump();
- await tester.pump(Duration(seconds: 2));
+ var favoritesList = find.byType(ListTile);
- var timeWidget = find.byKey(Key('time'));
- var dateWidget = find.byKey(Key('date'));
-
- expect(timeWidget, findsOneWidget);
- //for(var w in timeWidget.evaluate()) {
- //expect(w.widget.toString(), contains('10:25 AM'));
- //}
-
- //expect(dateWidget, findsOneWidget);
- //for(var w in dateWidget.evaluate()) {
- //expect(w.widget.toString(), contains('7 March'));
- //}
+ expect(favoritesList, findsNWidgets(4));
+ var i = 0;
+ for(var w in favoritesList.evaluate()) {
+ var fav = favoriteApps[i++];
+ w.visitChildren((Element e) {
+ expect(e.toStringDeep(), contains(fav.appName));
+ });
+ }
});
}