Skip to content

Commit

Permalink
Merge pull request #2 from NaagAlgates/task/test-cases
Browse files Browse the repository at this point in the history
Added test cases for internet status
  • Loading branch information
NaagAlgates authored Aug 2, 2022
2 parents 570dad3 + df73179 commit 75c830a
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 4 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ We need a lot of boilerplate code to check every project's network connectivity.

I also had the same question and have created this simple widget to help myself and others.

## Usecase
## Use case

The package's primary purpose is to show a default offline screen and a mandatory online screen provided while initializing.

Expand Down
2 changes: 2 additions & 0 deletions example/ios/Runner/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,7 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
</dict>
</plist>
4 changes: 2 additions & 2 deletions lib/src/_cubit/internet_cubit.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ enum InternetStatus {
/// When the status initialized or unknown
none,

/// When internnet is connected
/// When internet is connected
connected,

/// When internnet is disconnected
/// When internet is disconnected
disconnected,
}

Expand Down
62 changes: 61 additions & 1 deletion test/src/flutter_no_internet_widget_test.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// ignore_for_file: prefer_const_constructors
import 'package:flutter/material.dart';
import 'package:flutter_no_internet_widget/flutter_no_internet_widget.dart';
import 'package:flutter_test/flutter_test.dart';
Expand All @@ -13,5 +12,66 @@ void main() {
isNotNull,
);
});

testWidgets('Pump FlutterNoInternetWidget', (WidgetTester tester) async {
await tester.pumpWidget(
MaterialApp(
home: InternetWidget(
online: Container(),
),
),
);

expect(
find.byType(InternetWidget),
findsOneWidget,
reason: 'Load the widgets',
);
});

testWidgets('lookupUrl', (WidgetTester tester) async {
await tester.pumpWidget(
MaterialApp(
home: InternetWidget(
online: Container(),
lookupUrl: 'www.example.com',
),
),
);

expect(
find.byWidgetPredicate(
(widget) =>
widget is InternetWidget &&
widget.lookupUrl != null &&
widget.lookupUrl!.contains('www.example.com'),
),
findsOneWidget,
);
});

testWidgets('loadingWidget', (WidgetTester tester) async {
const _loadingWidget = Center(
child: CircularProgressIndicator(),
);
await tester.pumpWidget(
MaterialApp(
home: InternetWidget(
online: Container(),
loadingWidget: _loadingWidget,
),
),
);

expect(
find.byWidgetPredicate(
(widget) =>
widget is InternetWidget &&
widget.loadingWidget != null &&
widget.loadingWidget == _loadingWidget,
),
findsOneWidget,
);
});
});
}

0 comments on commit 75c830a

Please sign in to comment.