File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -57,7 +57,7 @@ class HomePage extends StatelessWidget {
5757 itemCount: shoes.length,
5858 itemBuilder: (context, index) {
5959 final shoe = shoes[index];
60- return _ShoeCard (shoe: shoe);
60+ return ShoeCard (shoe: shoe);
6161 },
6262 ),
6363 ),
@@ -69,10 +69,10 @@ class HomePage extends StatelessWidget {
6969 }
7070}
7171
72- class _ShoeCard extends StatelessWidget {
72+ class ShoeCard extends StatelessWidget {
7373 final Data <Shoe > shoe;
7474
75- const _ShoeCard ({ required this .shoe});
75+ const ShoeCard ({ super .key, required this .shoe});
7676
7777 @override
7878 Widget build (BuildContext context) {
Original file line number Diff line number Diff line change 1+ import 'package:example/app/api/shoe_api.dart' ;
2+ import 'package:example/app/pages/home_page.dart' ;
3+ import 'package:example/app/stores/home_store.dart' ;
4+ import 'package:flutter/material.dart' ;
5+ import 'package:flutter_test/flutter_test.dart' ;
6+ import 'package:flutter_weaver/flutter_weaver.dart' ;
7+
8+ import 'test_widget_wrapper.dart' ;
9+
10+ Future <void > main () async {
11+ setUp (() {
12+ weaver.register (ShoeApi ());
13+ weaver.register (HomeStore (weaver.get ()));
14+ });
15+
16+ tearDown (() {
17+ weaver.reset ();
18+ });
19+
20+ testWidgets (
21+ 'Should load page without any errors' ,
22+ (tester) async {
23+ await tester.pumpWidget (TestWidgetWrapper (HomePage ()));
24+ await tester.pumpAndSettle ();
25+
26+ expect (find.byType (ShoeCard ), findsAtLeast (1 ));
27+ },
28+ );
29+
30+ testWidgets (
31+ 'Should show profile button' ,
32+ (tester) async {
33+ await tester.pumpWidget (TestWidgetWrapper (HomePage ()));
34+ await tester.pumpAndSettle ();
35+
36+ expect (find.byIcon (Icons .person), findsOneWidget);
37+ },
38+ );
39+ }
Original file line number Diff line number Diff line change 1+ import 'package:flutter/material.dart' ;
2+ import 'package:shadcn_ui/shadcn_ui.dart' ;
3+
4+ class TestWidgetWrapper extends StatelessWidget {
5+ const TestWidgetWrapper (this .widget, {super .key});
6+
7+ final Widget widget;
8+
9+ @override
10+ Widget build (BuildContext context) {
11+ return ShadApp .custom (
12+ appBuilder: (context) => MaterialApp (
13+ theme: ThemeData .light (useMaterial3: true ),
14+ debugShowCheckedModeBanner: false ,
15+ builder: (context, child) => ShadAppBuilder (child: child),
16+ home: widget,
17+ ),
18+ );
19+ }
20+ }
You can’t perform that action at this time.
0 commit comments