@@ -143,6 +143,50 @@ void main() {
143143
144144// --------------------------------------------------
145145
146+ // -------- HomeViewGoldenTest Template Data ----------
147+
148+ const String kAppWebTemplateHomeViewGoldenTestPath =
149+ 'test/golden/home_view_golden_test.dart.stk' ;
150+
151+ const String kAppWebTemplateHomeViewGoldenTestContent = '''
152+ import 'package:flutter/material.dart';
153+ import 'package:flutter_test/flutter_test.dart';
154+ import 'package:golden_toolkit/golden_toolkit.dart';
155+ import 'package:{{packageName}}/{{{relativeLocatorFilePath}}}';
156+ import 'package:{{packageName}}/ui/views/home/home_view.dart';
157+
158+ void main() {
159+ setUpAll(() => setupLocator());
160+ tearDownAll(() => locator.reset());
161+
162+ testGoldens('HomeView - default state', (tester) async {
163+ await loadAppFonts();
164+
165+ // Set device pixel ratio and size for web
166+ await tester.binding.setSurfaceSize(const Size(1920, 1080));
167+ tester.binding.window.devicePixelRatioTestValue = 1.0;
168+
169+ await tester.pumpWidget(
170+ const MediaQuery(
171+ data: MediaQueryData(
172+ size: Size(1920, 1080),
173+ devicePixelRatio: 1.0,
174+ ),
175+ child: MaterialApp(
176+ debugShowCheckedModeBanner: false,
177+ home: HomeView(),
178+ ),
179+ ),
180+ );
181+
182+ await screenMatchesGolden(tester, 'home_view_default');
183+ });
184+ }
185+
186+ ''' ;
187+
188+ // --------------------------------------------------
189+
146190// -------- TestHelpers Template Data ----------
147191
148192const String kAppWebTemplateTestHelpersPath =
@@ -455,6 +499,16 @@ const String kAppWebTemplateREADMEMdStkContent = '''
455499# {{packageName}}
456500
457501{{packageDescription}}
502+
503+ ## Golden Tests
504+
505+ Golden tests are already setup for this project. To run the tests and update the golden files, run:
506+
507+ ```bash
508+ flutter test --update-goldens
509+ ```
510+
511+ The golden test screenshots will be stored under `test/golden/`.
458512''' ;
459513
460514// --------------------------------------------------
@@ -1750,6 +1804,7 @@ dev_dependencies:
17501804 flutter_lints: ^2.0.0
17511805 mockito: ^5.4.1
17521806 stacked_generator: ^1.3.3
1807+ golden_toolkit: ^0.15.0
17531808
17541809flutter:
17551810 uses-material-design: true
@@ -1895,6 +1950,50 @@ void main() {
18951950
18961951// --------------------------------------------------
18971952
1953+ // -------- HomeViewGoldenTest Template Data ----------
1954+
1955+ const String kAppMobileTemplateHomeViewGoldenTestPath =
1956+ 'test/golden/home_view_golden_test.dart.stk' ;
1957+
1958+ const String kAppMobileTemplateHomeViewGoldenTestContent = '''
1959+ import 'package:flutter/material.dart';
1960+ import 'package:flutter_test/flutter_test.dart';
1961+ import 'package:golden_toolkit/golden_toolkit.dart';
1962+ import 'package:{{packageName}}/{{{relativeLocatorFilePath}}}';
1963+ import 'package:{{packageName}}/ui/views/home/home_view.dart';
1964+
1965+ void main() {
1966+ setUpAll(() => setupLocator());
1967+ tearDownAll(() => locator.reset());
1968+
1969+ testGoldens('HomeView - default state', (tester) async {
1970+ await loadAppFonts();
1971+
1972+ // Set device pixel ratio and size
1973+ await tester.binding.setSurfaceSize(const Size(393, 852));
1974+ tester.binding.window.devicePixelRatioTestValue = 1.0;
1975+
1976+ await tester.pumpWidget(
1977+ const MediaQuery(
1978+ data: MediaQueryData(
1979+ size: Size(393, 852),
1980+ devicePixelRatio: 1.0,
1981+ ),
1982+ child: MaterialApp(
1983+ debugShowCheckedModeBanner: false,
1984+ home: HomeView(),
1985+ ),
1986+ ),
1987+ );
1988+
1989+ await screenMatchesGolden(tester, 'home_view_default');
1990+ });
1991+ }
1992+
1993+ ''' ;
1994+
1995+ // --------------------------------------------------
1996+
18981997// -------- TestHelpers Template Data ----------
18991998
19001999const String kAppMobileTemplateTestHelpersPath =
@@ -1992,6 +2091,16 @@ const String kAppMobileTemplateREADMEMdStkContent = '''
19922091# {{packageName}}
19932092
19942093{{packageDescription}}
2094+
2095+ ## Golden Tests
2096+
2097+ Golden tests are already setup for this project. To run the tests and update the golden files, run:
2098+
2099+ ```bash
2100+ flutter test --update-goldens
2101+ ```
2102+
2103+ The golden test screenshots will be stored under `test/golden/`.
19952104''' ;
19962105
19972106// --------------------------------------------------
@@ -2830,6 +2939,7 @@ dev_dependencies:
28302939 flutter_lints: ^2.0.0
28312940 mockito: ^5.4.1
28322941 stacked_generator: ^1.3.3
2942+ golden_toolkit: ^0.15.0
28332943
28342944flutter:
28352945 uses-material-design: true
@@ -3267,6 +3377,7 @@ class {{viewName}} extends StackedView<{{viewModelName}}> {
32673377 backgroundColor: Theme.of(context).colorScheme.background,
32683378 body: Container(
32693379 padding: const EdgeInsets.only(left: 25.0, right: 25.0),
3380+ child: const Center(child: Text("{{viewName}}")),
32703381 ),
32713382 );
32723383 }
@@ -3366,7 +3477,7 @@ class {{viewName}}Mobile extends ViewModelWidget<{{viewModelName}}> {
33663477 return const Scaffold(
33673478 body: Center(
33683479 child: Text(
3369- 'Hello, MOBILE UI!',
3480+ 'Hello, MOBILE UI - {{viewName}} !',
33703481 style: TextStyle(
33713482 fontSize: 35,
33723483 fontWeight: FontWeight.w900,
@@ -3400,7 +3511,7 @@ class {{viewName}}Tablet extends ViewModelWidget<{{viewModelName}}> {
34003511 return const Scaffold(
34013512 body: Center(
34023513 child: Text(
3403- 'Hello, TABLET UI!',
3514+ 'Hello, TABLET UI - {{viewName}} !',
34043515 style: TextStyle(
34053516 fontSize: 35,
34063517 fontWeight: FontWeight.w900,
@@ -3476,7 +3587,7 @@ class {{viewName}}Desktop extends ViewModelWidget<{{viewModelName}}> {
34763587 return const Scaffold(
34773588 body: Center(
34783589 child: Text(
3479- 'Hello, DESKTOP UI!',
3590+ 'Hello, DESKTOP UI - {{viewName}} !',
34803591 style: TextStyle(
34813592 fontSize: 35,
34823593 fontWeight: FontWeight.w900,
0 commit comments