diff options
| author | Akshay Nair <phenax5@gmail.com> | 2020-06-04 14:43:33 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2020-06-04 14:43:33 +0530 |
| commit | d2789f3ca1a143a5b779304cec103c0c1f851e70 (patch) | |
| tree | 8c7df448d458981d2b055e20d18923866e221b3c /test/homeview_test.dart | |
| parent | c50386437f01bb0177d352c7c7565d86742fa445 (diff) | |
| download | daft-launcher-d2789f3ca1a143a5b779304cec103c0c1f851e70.tar.gz daft-launcher-d2789f3ca1a143a5b779304cec103c0c1f851e70.zip | |
Adds test cases for homepage for favorite apps and fixes timewidget cases
Diffstat (limited to 'test/homeview_test.dart')
| -rw-r--r-- | test/homeview_test.dart | 49 |
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)); + }); + } }); } |
