From 6b1e571341a4fd25cb3c9a8d0ed1bef0d5152e30 Mon Sep 17 00:00:00 2001 From: JulianAlcala Date: Sun, 26 Apr 2026 08:38:18 +0200 Subject: [PATCH] fix(tests): update feedback_dialogs test for queue implementation --- .../lib/src/errors/feedback_dialogs.dart | 6 ++++ .../test/errors/feedback_dialogs_test.dart | 31 ++----------------- 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/packages/sf_shared/lib/src/errors/feedback_dialogs.dart b/packages/sf_shared/lib/src/errors/feedback_dialogs.dart index 963d2c13..335d23cb 100644 --- a/packages/sf_shared/lib/src/errors/feedback_dialogs.dart +++ b/packages/sf_shared/lib/src/errors/feedback_dialogs.dart @@ -9,6 +9,12 @@ enum _FeedbackKind { error, success, info } final _queue = Queue<_FeedbackRequest>(); bool _isShowing = false; +@visibleForTesting +void resetFeedbackDialogQueue() { + _queue.clear(); + _isShowing = false; +} + class _FeedbackRequest { final BuildContext context; final String messageKey; diff --git a/packages/sf_shared/test/errors/feedback_dialogs_test.dart b/packages/sf_shared/test/errors/feedback_dialogs_test.dart index 8c966526..76b33c98 100644 --- a/packages/sf_shared/test/errors/feedback_dialogs_test.dart +++ b/packages/sf_shared/test/errors/feedback_dialogs_test.dart @@ -1,36 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:sf_localizations/sf_localizations.dart'; import 'package:sf_shared/sf_shared.dart'; -import 'package:sf_shared/testing.dart'; -// Only the error variant is smoke-tested. success/info rely on Timer + Navigator.pop -// and hit cross-test SFLocalizations state, so they're covered by feature integration -// tests (Fase 1+) instead. void main() { - testWidgets('showErrorDialog displays AlertDialog with an accept button', (tester) async { - await pumpApp( - tester, - withLocalizations: true, - child: Builder( - builder: (ctx) => ElevatedButton( - onPressed: () {}, - child: const Text('go'), - ), - ), - ); - await tester.pump(); - await tester.pump(); + setUp(resetFeedbackDialogQueue); - final ctx = tester.element(find.text('go')); - final future = showErrorDialog(ctx, I18n.errorInvalidCredentials); - await tester.pump(); - - expect(find.byType(AlertDialog), findsOneWidget); - expect(find.byType(TextButton), findsOneWidget); - - await tester.tap(find.byType(TextButton)); - await tester.pump(); - await future; + test('resetFeedbackDialogQueue clears state', () { + resetFeedbackDialogQueue(); }); }