TF-2947 Update empty view also when no network connection

This commit is contained in:
Dat PHAM HOANG
2024-08-19 17:28:56 +07:00
committed by Dat H. Pham
parent b9b6d58b87
commit a5a8d42763
7 changed files with 130 additions and 28 deletions
@@ -111,5 +111,104 @@ void main() {
emptyEmailMessageWidget.data,
'No emails are matching your search');
});
testWidgets(
'should have message correctly and do not have CreateRuleFilter button\n'
'when no network', (tester) async {
final widget = makeTestableWidget(
child: EmptyEmailsWidget(
isNetworkConnectionAvailable: false,
),
);
await tester.pumpWidget(widget);
await tester.pumpAndSettle();
expect(
find.byKey(const Key('create_filter_rule_button_within_empty_email')),
findsNothing);
final emptyEmailMessageWidgetFinder = find.byKey(const Key('empty_email_message'));
final emptyEmailMessageWidget = tester.widget<Text>(emptyEmailMessageWidgetFinder);
expect(
emptyEmailMessageWidget.data,
'No internet connection, try again later.');
});
testWidgets(
'should have message correctly and do not have CreateRuleFilter button\n'
'when no network, but search are still active', (tester) async {
final widget = makeTestableWidget(
child: EmptyEmailsWidget(
isNetworkConnectionAvailable: false,
isSearchActive: true,
),
);
await tester.pumpWidget(widget);
await tester.pumpAndSettle();
expect(
find.byKey(const Key('create_filter_rule_button_within_empty_email')),
findsNothing);
final emptyEmailMessageWidgetFinder = find.byKey(const Key('empty_email_message'));
final emptyEmailMessageWidget = tester.widget<Text>(emptyEmailMessageWidgetFinder);
expect(
emptyEmailMessageWidget.data,
'No internet connection, try again later.');
});
testWidgets(
'should have message correctly and do not have CreateRuleFilter button\n'
'when no network, but filter are still active', (tester) async {
final widget = makeTestableWidget(
child: EmptyEmailsWidget(
isNetworkConnectionAvailable: false,
isFilterMessageActive: true,
),
);
await tester.pumpWidget(widget);
await tester.pumpAndSettle();
expect(
find.byKey(const Key('create_filter_rule_button_within_empty_email')),
findsNothing);
final emptyEmailMessageWidgetFinder = find.byKey(const Key('empty_email_message'));
final emptyEmailMessageWidget = tester.widget<Text>(emptyEmailMessageWidgetFinder);
expect(
emptyEmailMessageWidget.data,
'No internet connection, try again later.');
});
testWidgets(
'should have message correctly and do not have CreateRuleFilter button\n'
'when no network, but filter and search are still active', (tester) async {
final widget = makeTestableWidget(
child: EmptyEmailsWidget(
isNetworkConnectionAvailable: false,
isFilterMessageActive: true,
),
);
await tester.pumpWidget(widget);
await tester.pumpAndSettle();
expect(
find.byKey(const Key('create_filter_rule_button_within_empty_email')),
findsNothing);
final emptyEmailMessageWidgetFinder = find.byKey(const Key('empty_email_message'));
final emptyEmailMessageWidget = tester.widget<Text>(emptyEmailMessageWidgetFinder);
expect(
emptyEmailMessageWidget.data,
'No internet connection, try again later.');
});
});
}