@@ -143,6 +143,50 @@ void main() {
143
143
144
144
// --------------------------------------------------
145
145
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
+
146
190
// -------- TestHelpers Template Data ----------
147
191
148
192
const String kAppWebTemplateTestHelpersPath =
@@ -455,6 +499,16 @@ const String kAppWebTemplateREADMEMdStkContent = '''
455
499
# {{packageName}}
456
500
457
501
{{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/`.
458
512
''' ;
459
513
460
514
// --------------------------------------------------
@@ -1750,6 +1804,7 @@ dev_dependencies:
1750
1804
flutter_lints: ^2.0.0
1751
1805
mockito: ^5.4.1
1752
1806
stacked_generator: ^1.3.3
1807
+ golden_toolkit: ^0.15.0
1753
1808
1754
1809
flutter:
1755
1810
uses-material-design: true
@@ -1895,6 +1950,50 @@ void main() {
1895
1950
1896
1951
// --------------------------------------------------
1897
1952
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
+
1898
1997
// -------- TestHelpers Template Data ----------
1899
1998
1900
1999
const String kAppMobileTemplateTestHelpersPath =
@@ -1992,6 +2091,16 @@ const String kAppMobileTemplateREADMEMdStkContent = '''
1992
2091
# {{packageName}}
1993
2092
1994
2093
{{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/`.
1995
2104
''' ;
1996
2105
1997
2106
// --------------------------------------------------
@@ -2830,6 +2939,7 @@ dev_dependencies:
2830
2939
flutter_lints: ^2.0.0
2831
2940
mockito: ^5.4.1
2832
2941
stacked_generator: ^1.3.3
2942
+ golden_toolkit: ^0.15.0
2833
2943
2834
2944
flutter:
2835
2945
uses-material-design: true
@@ -3267,6 +3377,7 @@ class {{viewName}} extends StackedView<{{viewModelName}}> {
3267
3377
backgroundColor: Theme.of(context).colorScheme.background,
3268
3378
body: Container(
3269
3379
padding: const EdgeInsets.only(left: 25.0, right: 25.0),
3380
+ child: const Center(child: Text("{{viewName}}")),
3270
3381
),
3271
3382
);
3272
3383
}
@@ -3366,7 +3477,7 @@ class {{viewName}}Mobile extends ViewModelWidget<{{viewModelName}}> {
3366
3477
return const Scaffold(
3367
3478
body: Center(
3368
3479
child: Text(
3369
- 'Hello, MOBILE UI!',
3480
+ 'Hello, MOBILE UI - {{viewName}} !',
3370
3481
style: TextStyle(
3371
3482
fontSize: 35,
3372
3483
fontWeight: FontWeight.w900,
@@ -3400,7 +3511,7 @@ class {{viewName}}Tablet extends ViewModelWidget<{{viewModelName}}> {
3400
3511
return const Scaffold(
3401
3512
body: Center(
3402
3513
child: Text(
3403
- 'Hello, TABLET UI!',
3514
+ 'Hello, TABLET UI - {{viewName}} !',
3404
3515
style: TextStyle(
3405
3516
fontSize: 35,
3406
3517
fontWeight: FontWeight.w900,
@@ -3476,7 +3587,7 @@ class {{viewName}}Desktop extends ViewModelWidget<{{viewModelName}}> {
3476
3587
return const Scaffold(
3477
3588
body: Center(
3478
3589
child: Text(
3479
- 'Hello, DESKTOP UI!',
3590
+ 'Hello, DESKTOP UI - {{viewName}} !',
3480
3591
style: TextStyle(
3481
3592
fontSize: 35,
3482
3593
fontWeight: FontWeight.w900,
0 commit comments