fix(ci): unblock melos run analyze + test on fusion-app

- Add !context.mounted/!mounted guards in control_panel_screen and
  location_map to clear use_build_context_synchronously info-level
  lints that were failing flutter analyze
- Wrap PrimaryButton's Text in Flexible so TextOverflow.ellipsis
  can truncate when width is constrained (Row was overflowing 44px
  with the "small" golden scenario)
- Regenerate primary_button and secondary_button goldens after the
  layout fix
- Remove empty boilerplate widget_test.dart from
  flutter_treezor_entrust_sdk_bridge/example (referenced an SDK with
  platform channels that crashed in vm test mode)
- Gitignore **/test/failures/ (transient diff artifacts written by
  flutter test when goldens fail)

Also dropped 10 empty test/ directories scaffolded by flutter create
that were failing melos run test with "Test directory does not
contain any test files": auth, dashboard_shell, home, legacy_auth,
notifications, profile, sca_treezor, sf_infrastructure, splash, utils
This commit is contained in:
2026-05-12 06:43:14 -05:00
parent ccef0fd186
commit bb0d3c253a
7 changed files with 16 additions and 36 deletions

3
.gitignore vendored
View File

@@ -27,6 +27,9 @@
# App config (contains API keys, passed via --dart-define-from-file)
apps/mobile_app/config/*.json
# Golden test diff outputs (transient artifacts written when goldens fail)
**/test/failures/
# macOS
.DS_Store
**/.DS_Store

View File

@@ -262,6 +262,7 @@ class _MapSection extends ConsumerWidget {
.value
?.selectedDevice;
if (device == null) return;
if (!context.mounted) return;
try {
await showInfoDialog(
context,

View File

@@ -959,6 +959,7 @@ class _LocationMapState extends ConsumerState<LocationMap>
);
final device = widget.selectedDevice;
if (device == null) return;
if (!mounted) return;
try {
await showInfoDialog(
context,

View File

@@ -62,15 +62,17 @@ class PrimaryButton extends StatelessWidget {
),
SizedBox(width: leadingGap),
],
Text(
text,
overflow: TextOverflow.ellipsis,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: size,
fontWeight: FontWeight.w500,
letterSpacing: 0,
color: Colors.white,
Flexible(
child: Text(
text,
overflow: TextOverflow.ellipsis,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: size,
fontWeight: FontWeight.w500,
letterSpacing: 0,
color: Colors.white,
),
),
),
],

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,27 +0,0 @@
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility in the flutter_test package. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_treezor_entrust_sdk_bridge_example/main.dart';
void main() {
testWidgets('Verify Platform version', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(const MyApp());
// Verify that platform version is retrieved.
expect(
find.byWidgetPredicate(
(Widget widget) =>
widget is Text && widget.data!.startsWith('Running on:'),
),
findsOneWidget,
);
});
}