Skip to content

Commit 5eebfff

Browse files
committed
fix home_screen_widget_test.dart failling issue
1 parent 0562743 commit 5eebfff

23 files changed

+270
-170
lines changed

lib/Components/RSSFeedButtonWidget.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class _RSSFeedButtonWidgetState extends State<RSSFeedButtonWidget> {
1515
@override
1616
Widget build(BuildContext context) {
1717
return IconButton(
18+
key: Key('Rss Feed Button ${widget.index}'),
1819
onPressed: () {
1920
showFlexibleBottomSheet(
2021
minHeight: 0,
@@ -37,6 +38,7 @@ class _RSSFeedButtonWidgetState extends State<RSSFeedButtonWidget> {
3738
double bottomSheetOffset,
3839
) {
3940
return Container(
41+
key: Key('Rss feed home bottom sheet ${widget.index}'),
4042
decoration: BoxDecoration(
4143
borderRadius: BorderRadius.only(
4244
topRight: Radius.circular(15),

lib/Components/change_theme_button_widget.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ class ChangeThemeButtonWidget extends StatelessWidget {
1212
final themeProvider = Provider.of<ThemeProvider>(context);
1313

1414
return IconButton(
15+
key: Key("Change Theme Button"),
1516
onPressed: () {
1617
toggleTheme();
1718
themeProvider.toggleTheme();

lib/Pages/home_screen.dart

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import 'package:flood_mobile/Provider/sse_provider.dart';
2424
import 'package:flood_mobile/Provider/user_detail_provider.dart';
2525
import 'package:flood_mobile/Route/routes.dart';
2626
import 'package:flutter/material.dart' hide Badge;
27+
import 'package:flutter/scheduler.dart';
2728
import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
2829
import 'package:flutter_svg/svg.dart';
2930
import 'package:fluttertoast/fluttertoast.dart';
@@ -178,10 +179,10 @@ class _HomeScreenState extends State<HomeScreen> {
178179
screenCurrent = AboutScreen(index: themeIndex);
179180
break;
180181
}
181-
if (needsSetup) {
182-
if (themeIndex == 1) {
182+
if (needsSetup && themeIndex == 1) {
183+
SchedulerBinding.instance.addPostFrameCallback((_) {
183184
controller.open();
184-
}
185+
});
185186
}
186187
return Consumer<HomeProvider>(
187188
builder: (context, homeModel, child) {
@@ -191,10 +192,12 @@ class _HomeScreenState extends State<HomeScreen> {
191192
onWillPop: onBackPressed,
192193
child: Scaffold(
193194
appBar: AppBar(
195+
key: Key('AppBar $themeIndex'),
194196
leading: !selectTorrent.isSelectionMode
195197
? IconButton(
196198
icon: Icon(
197199
Icons.menu,
200+
key: Key('Menu Icon $themeIndex'),
198201
color: ThemeProvider.theme(themeIndex)
199202
.textTheme
200203
.bodyLarge
@@ -214,7 +217,7 @@ class _HomeScreenState extends State<HomeScreen> {
214217
},
215218
icon: Icon(Icons.close)),
216219
title: Image(
217-
key: Key('Flood Icon'),
220+
key: Key('Flood Icon $themeIndex'),
218221
image: AssetImage(
219222
'assets/images/icon.png',
220223
),
@@ -233,7 +236,7 @@ class _HomeScreenState extends State<HomeScreen> {
233236
showBadge: homeModel.unreadNotifications == 0
234237
? false
235238
: true,
236-
key: Key('Badge Widget'),
239+
key: Key('Badge Widget $themeIndex'),
237240
badgeColor: ThemeProvider.theme(themeIndex)
238241
.colorScheme
239242
.secondary,
@@ -245,6 +248,7 @@ class _HomeScreenState extends State<HomeScreen> {
245248
),
246249
position: BadgePosition(top: 0, end: 3),
247250
child: IconButton(
251+
key: Key('Notification Button $themeIndex'),
248252
icon: Icon(
249253
Icons.notifications,
250254
),
@@ -253,7 +257,8 @@ class _HomeScreenState extends State<HomeScreen> {
253257
context: context,
254258
builder: (BuildContext context) {
255259
return AlertDialog(
256-
key: Key('Notification Alert Dialog'),
260+
key: Key(
261+
'Notification Alert Dialog $themeIndex'),
257262
elevation: 0,
258263
backgroundColor:
259264
ThemeProvider.theme(themeIndex)
@@ -457,7 +462,7 @@ class _MenuState extends State<Menu> {
457462
mainAxisAlignment: MainAxisAlignment.start,
458463
children: [
459464
Image(
460-
key: Key('Flood Icon menu'),
465+
key: Key('Flood Icon menu ${widget.index}'),
461466
width: 80,
462467
height: 80,
463468
image: AssetImage(
@@ -479,7 +484,7 @@ class _MenuState extends State<Menu> {
479484
children: [
480485
SvgPicture.network(
481486
'https://img.shields.io/github/v/release/CCExtractor/Flood_Mobile?include_prereleases',
482-
key: Key('Release Shield'),
487+
key: Key('Release Shield ${widget.index}'),
483488
),
484489
],
485490
),

test/home_screen_widget_test.dart

Lines changed: 0 additions & 160 deletions
This file was deleted.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)