Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
fluttertpc_get
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Volodymyr Buberenko
2020-12-06 00:30:36 +0200
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
83b3697aef7cc1d836a9917202b92b07d81c2f8f
83b3697a
1 parent
fa31b8c7
Refactor tests for Get.to, Get.toNamed, Get.off, Get.offNamed, Get.offAll, Get.offAllNamed
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
98 additions
and
53 deletions
test/navigation/get_main_test.dart
test/navigation/get_main_test.dart
View file @
83b3697
...
...
@@ -4,53 +4,27 @@ import 'package:get/get.dart';
import
'utils/wrapper.dart'
;
class
SizeTransitions
extends
CustomTransition
{
@override
Widget
buildTransition
(
BuildContext
context
,
Curve
curve
,
Alignment
alignment
,
Animation
<
double
>
animation
,
Animation
<
double
>
secondaryAnimation
,
Widget
child
)
{
return
Align
(
alignment:
Alignment
.
center
,
child:
SizeTransition
(
sizeFactor:
CurvedAnimation
(
parent:
animation
,
curve:
curve
,
),
child:
child
,
),
);
}
}
void
main
(
)
{
testWidgets
(
"Get.to
smoke test
"
,
(
tester
)
async
{
testWidgets
(
"Get.to
navigates to provided route
"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
Wrapper
(
child:
Container
()),
);
Get
.
to
(
SecondScreen
());
await
tester
.
pump
(
Duration
.
zero
);
Get
.
to
(
FirstScreen
());
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
Second
Screen
),
findsOneWidget
);
expect
(
find
.
byType
(
First
Screen
),
findsOneWidget
);
});
testWidgets
(
"Get.toNamed smoke test"
,
(
tester
)
async
{
testWidgets
(
"Get.toNamed navigates to provided named route"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
GetMaterialApp
(
initialRoute:
'/'
,
getPages:
[
GetPage
(
page:
()
=>
FirstScreen
(),
name:
'/'
,
customTransition:
SizeTransitions
()),
GetPage
(
page:
()
=>
FirstScreen
(),
name:
'/'
),
GetPage
(
page:
()
=>
SecondScreen
(),
name:
'/second'
),
GetPage
(
page:
()
=>
ThirdScreen
(),
name:
'/third'
)
,
GetPage
(
page:
()
=>
ThirdScreen
(),
name:
'/third'
)
],
),
);
...
...
@@ -62,25 +36,34 @@ void main() {
expect
(
find
.
byType
(
SecondScreen
),
findsOneWidget
);
});
testWidgets
(
"Get.off
smoke test
"
,
(
tester
)
async
{
testWidgets
(
"Get.off
navigates to provided route
"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
Wrapper
(
child:
Container
()),
);
Get
.
to
(
FirstScreen
());
Get
.
off
(
SecondScreen
());
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
FirstScreen
),
findsOneWidget
);
expect
(
find
.
byType
(
SecondScreen
),
findsOneWidget
);
});
testWidgets
(
"Get.off removes current route"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
Wrapper
(
child:
Container
()),
);
Get
.
to
(
FirstScreen
());
Get
.
off
(
SecondScreen
());
Get
.
back
();
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
SecondScreen
),
findsOneWidget
);
expect
(
find
.
byType
(
FirstScreen
),
findsNothing
);
});
testWidgets
(
"Get.offNamed
smoke test
"
,
(
tester
)
async
{
testWidgets
(
"Get.offNamed
navigates to provided named route
"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
GetMaterialApp
(
initialRoute:
'/'
,
...
...
@@ -93,73 +76,135 @@ void main() {
),
);
Get
.
to
Named
(
'/first'
);
Get
.
off
Named
(
'/first'
);
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
FirstScreen
),
findsOneWidget
);
});
testWidgets
(
"Get.offNamed removes current route"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
GetMaterialApp
(
initialRoute:
'/'
,
getPages:
[
GetPage
(
name:
'/'
,
page:
()
=>
Container
()),
GetPage
(
name:
'/first'
,
page:
()
=>
FirstScreen
()),
GetPage
(
name:
'/second'
,
page:
()
=>
SecondScreen
()),
GetPage
(
name:
'/third'
,
page:
()
=>
ThirdScreen
()),
],
),
);
Get
.
toNamed
(
'/first'
);
Get
.
offNamed
(
'/second'
);
Get
.
back
();
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
SecondScreen
),
findsOneWidget
);
expect
(
find
.
byType
(
FirstScreen
),
findsNothing
);
});
testWidgets
(
"Get.offAll smoke test"
,
(
tester
)
async
{
testWidgets
(
"Get.offNamed removes only current route"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
GetMaterialApp
(
initialRoute:
'/'
,
getPages:
[
GetPage
(
name:
'/'
,
page:
()
=>
Container
()),
GetPage
(
name:
'/first'
,
page:
()
=>
FirstScreen
()),
GetPage
(
name:
'/second'
,
page:
()
=>
SecondScreen
()),
GetPage
(
name:
'/third'
,
page:
()
=>
ThirdScreen
()),
],
),
);
Get
.
toNamed
(
'/first'
);
Get
.
offNamed
(
'/second'
);
Get
.
back
();
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
Container
),
findsOneWidget
);
});
testWidgets
(
"Get.offAll navigates to provided route"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
Wrapper
(
child:
Container
()),
);
Get
.
to
(
FirstScreen
());
Get
.
offAll
(
FirstScreen
());
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
FirstScreen
),
findsOneWidget
);
});
testWidgets
(
"Get.offAll removes all previous routes"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
Wrapper
(
child:
Container
()),
);
Get
.
to
(
FirstScreen
());
Get
.
to
(
SecondScreen
());
Get
.
offAll
(
ThirdScreen
());
Get
.
back
();
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
SecondScreen
),
finds
OneWidget
);
expect
(
find
.
byType
(
SecondScreen
),
finds
Nothing
);
Get
.
offAll
(
ThirdScreen
()
);
Get
.
back
(
);
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
ThirdScreen
),
findsOneWidget
);
expect
(
find
.
byType
(
FirstScreen
),
findsNothing
);
});
testWidgets
(
"Get.offAllNamed smoke test"
,
(
tester
)
async
{
testWidgets
(
"Get.offAllNamed navigates to provided named route"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
WrapperNamed
(
initialRoute:
'/'
,
initialRoute:
'/
first
'
,
namedRoutes:
[
GetPage
(
page:
()
=>
Container
(),
name:
'/'
),
GetPage
(
page:
()
=>
FirstScreen
(),
name:
'/first'
),
GetPage
(
page:
()
=>
SecondScreen
(),
name:
'/second'
),
GetPage
(
page:
()
=>
ThirdScreen
(),
name:
'/third'
)
,
GetPage
(
page:
()
=>
ThirdScreen
(),
name:
'/third'
)
],
),
);
Get
.
toNamed
(
'/
first
'
);
Get
.
toNamed
(
'/
second
'
);
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
FirstScreen
),
findsOneWidget
);
expect
(
find
.
byType
(
SecondScreen
),
findsOneWidget
);
});
testWidgets
(
"Get.offAllNamed removes all previous routes"
,
(
tester
)
async
{
await
tester
.
pumpWidget
(
WrapperNamed
(
initialRoute:
'/first'
,
namedRoutes:
[
GetPage
(
page:
()
=>
FirstScreen
(),
name:
'/first'
),
GetPage
(
page:
()
=>
SecondScreen
(),
name:
'/second'
),
GetPage
(
page:
()
=>
ThirdScreen
(),
name:
'/third'
)
],
),
);
Get
.
toNamed
(
'/second'
);
Get
.
offAllNamed
(
'/third'
);
Get
.
back
();
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
SecondScreen
),
finds
OneWidget
);
expect
(
find
.
byType
(
SecondScreen
),
finds
Nothing
);
Get
.
offAllNamed
(
'/third'
);
Get
.
back
(
);
await
tester
.
pumpAndSettle
();
expect
(
find
.
byType
(
ThirdScreen
),
findsOneWidget
);
expect
(
find
.
byType
(
FirstScreen
),
findsNothing
);
});
testWidgets
(
"Get.offAndToNamed smoke test"
,
(
tester
)
async
{
...
...
Please
register
or
login
to post a comment