From 9028d00b146a8b3098b3e17def12eca09044e364 Mon Sep 17 00:00:00 2001 From: Nicolas CHAIX Date: Tue, 4 Aug 2026 20:03:55 +0200 Subject: [PATCH 1/4] Wait for onReady event in integration test initialize helper The method channel reports readiness before the event channel has dispatched onReady, so tests asserting on a listener-backed isReady flag right after InitializeHelper.initialize could race the event. Add an optional isReady getter to InitializeHelper.initialize that polls the caller's flag (within the existing 20s timeout) and asserts it became true, and pass it from every call site. --- .../integration_test/consent_state_test.dart | 6 +++--- .../get_current_user_status_test.dart | 6 +++--- .../get_user_status_test.dart | 6 +++--- .../initialize_with_local_config_test.dart | 2 +- .../language_update_test.dart | 4 ++-- example/integration_test/notice_test.dart | 2 +- .../integration_test/preferences_test.dart | 4 ++-- example/integration_test/purpose_test.dart | 6 +++--- example/integration_test/regulation_test.dart | 2 +- .../set_current_user_status_test.dart | 12 +++++------ .../set_user_consent_test.dart | 20 +++++++++---------- example/integration_test/setup_test.dart | 2 +- example/integration_test/text_test.dart | 10 +++++----- .../transactions_with_chaining_test.dart | 16 +++++++-------- .../transactions_with_purposes_test.dart | 16 +++++++-------- .../transactions_with_vendors_test.dart | 16 +++++++-------- .../util/initialize_helper.dart | 18 ++++++++++++++++- example/integration_test/vendor_test.dart | 8 ++++---- .../integration_test/widget_events_test.dart | 2 +- 19 files changed, 87 insertions(+), 71 deletions(-) diff --git a/example/integration_test/consent_state_test.dart b/example/integration_test/consent_state_test.dart index 2cfa11a4..59dff179 100644 --- a/example/integration_test/consent_state_test.dart +++ b/example/integration_test/consent_state_test.dart @@ -56,7 +56,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -82,7 +82,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -142,7 +142,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/get_current_user_status_test.dart b/example/integration_test/get_current_user_status_test.dart index ec89d8a0..48475b31 100644 --- a/example/integration_test/get_current_user_status_test.dart +++ b/example/integration_test/get_current_user_status_test.dart @@ -55,7 +55,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -116,7 +116,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -181,7 +181,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/get_user_status_test.dart b/example/integration_test/get_user_status_test.dart index fe5e53be..67b75214 100644 --- a/example/integration_test/get_user_status_test.dart +++ b/example/integration_test/get_user_status_test.dart @@ -54,7 +54,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -86,7 +86,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -131,7 +131,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/initialize_with_local_config_test.dart b/example/integration_test/initialize_with_local_config_test.dart index d06f359e..0ecc33e7 100644 --- a/example/integration_test/initialize_with_local_config_test.dart +++ b/example/integration_test/initialize_with_local_config_test.dart @@ -54,7 +54,7 @@ void main() { await tester.tap(localConfigBoxFinder); - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); assertNativeMessage("initialize", okMessage); diff --git a/example/integration_test/language_update_test.dart b/example/integration_test/language_update_test.dart index f6eab44f..bfa0ba44 100644 --- a/example/integration_test/language_update_test.dart +++ b/example/integration_test/language_update_test.dart @@ -66,7 +66,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -96,7 +96,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/notice_test.dart b/example/integration_test/notice_test.dart index 349e50dc..704d837c 100644 --- a/example/integration_test/notice_test.dart +++ b/example/integration_test/notice_test.dart @@ -62,7 +62,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/preferences_test.dart b/example/integration_test/preferences_test.dart index f35bdf10..9711106d 100644 --- a/example/integration_test/preferences_test.dart +++ b/example/integration_test/preferences_test.dart @@ -69,7 +69,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -112,7 +112,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/purpose_test.dart b/example/integration_test/purpose_test.dart index 532d1899..8d1888e0 100644 --- a/example/integration_test/purpose_test.dart +++ b/example/integration_test/purpose_test.dart @@ -109,7 +109,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -132,7 +132,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -156,7 +156,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/regulation_test.dart b/example/integration_test/regulation_test.dart index 4f53493f..4bbbce0e 100644 --- a/example/integration_test/regulation_test.dart +++ b/example/integration_test/regulation_test.dart @@ -52,7 +52,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/set_current_user_status_test.dart b/example/integration_test/set_current_user_status_test.dart index fb817902..a7846adc 100644 --- a/example/integration_test/set_current_user_status_test.dart +++ b/example/integration_test/set_current_user_status_test.dart @@ -55,7 +55,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -127,7 +127,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -196,7 +196,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -266,7 +266,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -342,7 +342,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -418,7 +418,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/set_user_consent_test.dart b/example/integration_test/set_user_consent_test.dart index 7fbd426e..c6d1cdd7 100644 --- a/example/integration_test/set_user_consent_test.dart +++ b/example/integration_test/set_user_consent_test.dart @@ -123,7 +123,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -161,7 +161,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -203,7 +203,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -241,7 +241,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -286,7 +286,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -312,7 +312,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } // Second click returns false @@ -338,7 +338,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -386,7 +386,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -412,7 +412,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } // Second click returns false @@ -438,7 +438,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/setup_test.dart b/example/integration_test/setup_test.dart index 20b19bcd..78fc79c0 100644 --- a/example/integration_test/setup_test.dart +++ b/example/integration_test/setup_test.dart @@ -70,7 +70,7 @@ void main() { assertNativeMessage("setupUI", okMessage); - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/text_test.dart b/example/integration_test/text_test.dart index a73465d2..33b4ce7c 100644 --- a/example/integration_test/text_test.dart +++ b/example/integration_test/text_test.dart @@ -118,7 +118,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -137,7 +137,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -167,7 +167,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -189,7 +189,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -219,7 +219,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/transactions_with_chaining_test.dart b/example/integration_test/transactions_with_chaining_test.dart index 1e8d0631..faa34604 100644 --- a/example/integration_test/transactions_with_chaining_test.dart +++ b/example/integration_test/transactions_with_chaining_test.dart @@ -37,7 +37,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -62,7 +62,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -87,7 +87,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -112,7 +112,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -139,7 +139,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -164,7 +164,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -189,7 +189,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -214,7 +214,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/transactions_with_purposes_test.dart b/example/integration_test/transactions_with_purposes_test.dart index 3d0c8786..41c98176 100644 --- a/example/integration_test/transactions_with_purposes_test.dart +++ b/example/integration_test/transactions_with_purposes_test.dart @@ -38,7 +38,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -62,7 +62,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -86,7 +86,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -110,7 +110,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -136,7 +136,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -160,7 +160,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -184,7 +184,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -208,7 +208,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/transactions_with_vendors_test.dart b/example/integration_test/transactions_with_vendors_test.dart index 009928cd..2b22d507 100644 --- a/example/integration_test/transactions_with_vendors_test.dart +++ b/example/integration_test/transactions_with_vendors_test.dart @@ -38,7 +38,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -62,7 +62,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -86,7 +86,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -110,7 +110,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -136,7 +136,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -161,7 +161,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -185,7 +185,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -209,7 +209,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/util/initialize_helper.dart b/example/integration_test/util/initialize_helper.dart index cae6c627..8f035c2c 100644 --- a/example/integration_test/util/initialize_helper.dart +++ b/example/integration_test/util/initialize_helper.dart @@ -4,7 +4,14 @@ import 'package:flutter_test/flutter_test.dart'; class InitializeHelper { static const initializationTimeout = Duration(seconds: 20); - static Future initialize(WidgetTester tester, Finder finder) async { + /// Tap [finder] to initialize the SDK and wait until it is ready. + /// + /// [isReady] lets callers also wait for their own `onReady` event listener to + /// have run. The method channel reports readiness before the event channel has + /// dispatched `onReady`, so tests asserting on a listener-backed flag right + /// after this call would otherwise race the event. Pass the flag as a getter + /// (e.g. `isReady: () => isReady`) so it is re-read on every poll. + static Future initialize(WidgetTester tester, Finder finder, {bool Function()? isReady}) async { await tester.tap(finder); await tester.pumpAndSettle(); @@ -16,6 +23,15 @@ class InitializeHelper { await Future.delayed(Duration(milliseconds: 100)); } await expectLater(await DidomiSdk.isReady, isTrue); + + // Wait for the onReady event to reach the caller's listener. + while (isReady != null && isReady() == false && DateTime.now().difference(startTime) < initializationTimeout) { + await Future.delayed(Duration(milliseconds: 100)); + } }); + + if (isReady != null) { + await expectLater(isReady(), isTrue, reason: "onReady event was not received before timeout"); + } } } diff --git a/example/integration_test/vendor_test.dart b/example/integration_test/vendor_test.dart index e261d861..a4f521d6 100644 --- a/example/integration_test/vendor_test.dart +++ b/example/integration_test/vendor_test.dart @@ -106,7 +106,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -129,7 +129,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -153,7 +153,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); @@ -182,7 +182,7 @@ void main() { if (!isReady) { // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); } assert(isError == false); diff --git a/example/integration_test/widget_events_test.dart b/example/integration_test/widget_events_test.dart index dae3e771..50db04fc 100644 --- a/example/integration_test/widget_events_test.dart +++ b/example/integration_test/widget_events_test.dart @@ -79,7 +79,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - await InitializeHelper.initialize(tester, initializeBtnFinder); + await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); From 159ceea6607c4edcb4a6b6fa1e69c8133cfdcfc3 Mon Sep 17 00:00:00 2001 From: Nicolas CHAIX Date: Tue, 4 Aug 2026 20:29:08 +0200 Subject: [PATCH 2/4] Wait for onSyncDone in integration test sync helper waitForSync only polled on syncReadyEvent, but callers assert on syncDoneUserId right after it returns. onSyncReady and onSyncDone are dispatched as separate events with no ordering guarantee, so the helper could return while syncDoneUserId was still null, failing assertions such as set_user_with_id_test.dart:282 intermittently on CI. Also bound the wait with a 20s timeout so a lost event ends the test instead of spinning until the suite-level timeout. Paths ending in onSyncError are unaffected: syncDoneUserId legitimately stays null there, and the existing !syncError term still ends the loop. --- .../set_user_with_encryption_test.dart | 12 ++++++++++-- .../integration_test/set_user_with_hash_test.dart | 12 ++++++++++-- example/integration_test/set_user_with_id_test.dart | 12 ++++++++++-- example/integration_test/util/constants.dart | 5 +++++ 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/example/integration_test/set_user_with_encryption_test.dart b/example/integration_test/set_user_with_encryption_test.dart index ebcd63e5..0e152bec 100644 --- a/example/integration_test/set_user_with_encryption_test.dart +++ b/example/integration_test/set_user_with_encryption_test.dart @@ -54,9 +54,17 @@ void main() { DidomiSdk.addEventListener(listener); Future waitForSync(WidgetTester tester) async { - // Wait for sync result + // Wait for sync result. + // + // `onSyncReady` and `onSyncDone` are dispatched as separate events with no + // ordering guarantee, so waiting on `syncReadyEvent` alone can return while + // `syncDoneUserId` is still unset and race callers that assert on it. + // On `onSyncError` neither is populated, so the error flag ends the wait. + final startTime = DateTime.now(); await tester.runAsync(() async { - while (syncReadyEvent == null && !syncError) { + while ((syncReadyEvent == null || syncDoneUserId == null) && + !syncError && + DateTime.now().difference(startTime) < syncTimeout) { await Future.delayed(Duration(milliseconds: 100)); } }); diff --git a/example/integration_test/set_user_with_hash_test.dart b/example/integration_test/set_user_with_hash_test.dart index 09a623e5..1ba28593 100644 --- a/example/integration_test/set_user_with_hash_test.dart +++ b/example/integration_test/set_user_with_hash_test.dart @@ -55,9 +55,17 @@ void main() { DidomiSdk.addEventListener(listener); Future waitForSync(WidgetTester tester) async { - // Wait for sync result + // Wait for sync result. + // + // `onSyncReady` and `onSyncDone` are dispatched as separate events with no + // ordering guarantee, so waiting on `syncReadyEvent` alone can return while + // `syncDoneUserId` is still unset and race callers that assert on it. + // On `onSyncError` neither is populated, so the error flag ends the wait. + final startTime = DateTime.now(); await tester.runAsync(() async { - while (syncReadyEvent == null && !syncError) { + while ((syncReadyEvent == null || syncDoneUserId == null) && + !syncError && + DateTime.now().difference(startTime) < syncTimeout) { await Future.delayed(Duration(milliseconds: 100)); } }); diff --git a/example/integration_test/set_user_with_id_test.dart b/example/integration_test/set_user_with_id_test.dart index 13d92356..0ca5c4f2 100644 --- a/example/integration_test/set_user_with_id_test.dart +++ b/example/integration_test/set_user_with_id_test.dart @@ -53,9 +53,17 @@ void main() { DidomiSdk.addEventListener(listener); Future waitForSync(WidgetTester tester) async { - // Wait for sync result + // Wait for sync result. + // + // `onSyncReady` and `onSyncDone` are dispatched as separate events with no + // ordering guarantee, so waiting on `syncReadyEvent` alone can return while + // `syncDoneUserId` is still unset and race callers that assert on it. + // On `onSyncError` neither is populated, so the error flag ends the wait. + final startTime = DateTime.now(); await tester.runAsync(() async { - while (syncReadyEvent == null && !syncError) { + while ((syncReadyEvent == null || syncDoneUserId == null) && + !syncError && + DateTime.now().difference(startTime) < syncTimeout) { await Future.delayed(Duration(milliseconds: 100)); } }); diff --git a/example/integration_test/util/constants.dart b/example/integration_test/util/constants.dart index 79032774..75719b44 100644 --- a/example/integration_test/util/constants.dart +++ b/example/integration_test/util/constants.dart @@ -1,3 +1,8 @@ +/// Upper bound for waiting on user-synchronization events (`onSyncReady`, +/// `onSyncDone`, `onSyncError`). Prevents a lost event from hanging a test +/// until the much coarser suite-level timeout. +const syncTimeout = Duration(seconds: 20); + /// Common messages for assertions const defaultMessage = "Native message: --"; const notReadyMessage = "Native message: Failed: 'Didomi SDK is not ready. Use the onReady callback to access this method.'."; From fd600533e0aa0280b4ecf1c113585d0c256ab6dd Mon Sep 17 00:00:00 2001 From: Nicolas CHAIX Date: Wed, 5 Aug 2026 10:18:43 +0200 Subject: [PATCH 3/4] remove onSyncDone (deprecated) from tests --- .../set_user_with_encryption_test.dart | 16 +------------ .../set_user_with_hash_test.dart | 16 +------------ .../set_user_with_id_test.dart | 23 ++++--------------- example/integration_test/util/constants.dart | 5 ++-- 4 files changed, 8 insertions(+), 52 deletions(-) diff --git a/example/integration_test/set_user_with_encryption_test.dart b/example/integration_test/set_user_with_encryption_test.dart index 0e152bec..f8587ea8 100644 --- a/example/integration_test/set_user_with_encryption_test.dart +++ b/example/integration_test/set_user_with_encryption_test.dart @@ -25,7 +25,6 @@ void main() { final reset = find.byKey(Key("reset")); final listKey = Key("components_list"); - String? syncDoneUserId; bool isReady = false; bool syncError = false; SyncReadyEvent? syncReadyEvent; @@ -35,17 +34,12 @@ void main() { isReady = true; }; listener.onConsentChanged = () { - syncDoneUserId = null; syncError = false; syncReadyEvent = null; }; listener.onSyncReady = (SyncReadyEvent event) { syncReadyEvent = event; }; - // ignore: deprecated_member_use - listener.onSyncDone = (String userId) { - syncDoneUserId = userId != "null" ? userId : null; - }; listener.onSyncError = (String error) { syncError = true; syncReadyEvent = null; @@ -55,14 +49,9 @@ void main() { Future waitForSync(WidgetTester tester) async { // Wait for sync result. - // - // `onSyncReady` and `onSyncDone` are dispatched as separate events with no - // ordering guarantee, so waiting on `syncReadyEvent` alone can return while - // `syncDoneUserId` is still unset and race callers that assert on it. - // On `onSyncError` neither is populated, so the error flag ends the wait. final startTime = DateTime.now(); await tester.runAsync(() async { - while ((syncReadyEvent == null || syncDoneUserId == null) && + while (syncReadyEvent == null && !syncError && DateTime.now().difference(startTime) < syncTimeout) { await Future.delayed(Duration(milliseconds: 100)); @@ -72,14 +61,12 @@ void main() { // Reset all variables used for assertion. void resetExpectedSyncValues() { - syncDoneUserId = null; syncError = false; syncReadyEvent = null; } // Assert that all the expected sync variables are empty. void assertExpectedSyncValuesAreEmpty() { - assert(syncDoneUserId == null); assert(syncError == false); assert(syncReadyEvent == null); } @@ -101,7 +88,6 @@ void main() { app.main(); await tester.pumpAndSettle(); - assert(syncDoneUserId == null); assert(syncError == false); assert(syncReadyEvent == null); diff --git a/example/integration_test/set_user_with_hash_test.dart b/example/integration_test/set_user_with_hash_test.dart index 1ba28593..95d22a98 100644 --- a/example/integration_test/set_user_with_hash_test.dart +++ b/example/integration_test/set_user_with_hash_test.dart @@ -26,7 +26,6 @@ void main() { final reset = find.byKey(Key("reset")); final listKey = Key("components_list"); - String? syncDoneUserId; bool isReady = false; bool syncError = false; SyncReadyEvent? syncReadyEvent; @@ -36,17 +35,12 @@ void main() { isReady = true; }; listener.onConsentChanged = () { - syncDoneUserId = null; syncError = false; syncReadyEvent = null; }; listener.onSyncReady = (SyncReadyEvent event) { syncReadyEvent = event; }; - // ignore: deprecated_member_use - listener.onSyncDone = (String userId) { - syncDoneUserId = userId != "null" ? userId : null; - }; listener.onSyncError = (String error) { syncError = true; syncReadyEvent = null; @@ -56,14 +50,9 @@ void main() { Future waitForSync(WidgetTester tester) async { // Wait for sync result. - // - // `onSyncReady` and `onSyncDone` are dispatched as separate events with no - // ordering guarantee, so waiting on `syncReadyEvent` alone can return while - // `syncDoneUserId` is still unset and race callers that assert on it. - // On `onSyncError` neither is populated, so the error flag ends the wait. final startTime = DateTime.now(); await tester.runAsync(() async { - while ((syncReadyEvent == null || syncDoneUserId == null) && + while (syncReadyEvent == null && !syncError && DateTime.now().difference(startTime) < syncTimeout) { await Future.delayed(Duration(milliseconds: 100)); @@ -73,14 +62,12 @@ void main() { // Reset all variables used for assertion. void resetExpectedSyncValues() { - syncDoneUserId = null; syncError = false; syncReadyEvent = null; } // Assert that all the expected sync variables are empty. void assertExpectedSyncValuesAreEmpty() { - assert(syncDoneUserId == null); assert(syncError == false); assert(syncReadyEvent == null); } @@ -102,7 +89,6 @@ void main() { app.main(); await tester.pumpAndSettle(); - assert(syncDoneUserId == null); assert(syncError == false); assert(syncReadyEvent == null); diff --git a/example/integration_test/set_user_with_id_test.dart b/example/integration_test/set_user_with_id_test.dart index 0ca5c4f2..de034f08 100644 --- a/example/integration_test/set_user_with_id_test.dart +++ b/example/integration_test/set_user_with_id_test.dart @@ -29,7 +29,6 @@ void main() { final reset = find.byKey(Key("reset")); final listKey = Key("components_list"); - String? syncDoneUserId; bool isReady = false; bool syncError = false; SyncReadyEvent? syncReadyEvent; @@ -41,10 +40,6 @@ void main() { listener.onSyncReady = (SyncReadyEvent event) { syncReadyEvent = event; }; - // ignore: deprecated_member_use - listener.onSyncDone = (String userId) { - syncDoneUserId = userId != "null" ? userId : null; - }; listener.onSyncError = (String error) { syncError = true; syncReadyEvent = null; @@ -54,14 +49,9 @@ void main() { Future waitForSync(WidgetTester tester) async { // Wait for sync result. - // - // `onSyncReady` and `onSyncDone` are dispatched as separate events with no - // ordering guarantee, so waiting on `syncReadyEvent` alone can return while - // `syncDoneUserId` is still unset and race callers that assert on it. - // On `onSyncError` neither is populated, so the error flag ends the wait. final startTime = DateTime.now(); await tester.runAsync(() async { - while ((syncReadyEvent == null || syncDoneUserId == null) && + while (syncReadyEvent == null && !syncError && DateTime.now().difference(startTime) < syncTimeout) { await Future.delayed(Duration(milliseconds: 100)); @@ -100,14 +90,12 @@ void main() { // Reset all variables used for assertion. void resetExpectedSyncValues() { - syncDoneUserId = null; syncError = false; syncReadyEvent = null; } // Assert that all the expected sync variables are populated. void assertExpectedSyncValuesArePopulated() { - assert(syncDoneUserId == userId); assert(syncError == false); assert(syncReadyEvent != null); assert(syncReadyEvent?.organizationUserId == userId); @@ -115,7 +103,6 @@ void main() { // Assert that all the expected sync variables are empty. void assertExpectedSyncValuesAreEmpty() { - assert(syncDoneUserId == null); assert(syncError == false); assert(syncReadyEvent == null); } @@ -133,7 +120,6 @@ void main() { app.main(); await tester.pumpAndSettle(); - assert(syncDoneUserId == null); assert(syncError == false); assert(syncReadyEvent == null); @@ -198,7 +184,6 @@ void main() { await waitForSync(tester); // Encryption parameters are not valid - assert(syncDoneUserId == null); assert(syncError == true); assert(syncReadyEvent == null); }); @@ -242,7 +227,7 @@ void main() { await waitForSync(tester); - assert(syncDoneUserId == userId); + assert(syncReadyEvent?.organizationUserId == userId); assert(syncError == false); await assertSyncReadyEvent(tester); @@ -287,7 +272,7 @@ void main() { await waitForSync(tester); - assert(syncDoneUserId == userId); + assert(syncReadyEvent?.organizationUserId == userId); assert(syncError == false); await assertSyncReadyEvent(tester); @@ -332,7 +317,7 @@ void main() { await waitForSync(tester); - assert(syncDoneUserId == userId); + assert(syncReadyEvent?.organizationUserId == userId); assert(syncError == false); await assertSyncReadyEvent(tester); diff --git a/example/integration_test/util/constants.dart b/example/integration_test/util/constants.dart index 75719b44..5305bd01 100644 --- a/example/integration_test/util/constants.dart +++ b/example/integration_test/util/constants.dart @@ -1,6 +1,5 @@ -/// Upper bound for waiting on user-synchronization events (`onSyncReady`, -/// `onSyncDone`, `onSyncError`). Prevents a lost event from hanging a test -/// until the much coarser suite-level timeout. +/// Upper bound for waiting on user-synchronization events (`onSyncReady`, `onSyncError`). +/// Prevents a lost event from hanging a test until the much coarser suite-level timeout. const syncTimeout = Duration(seconds: 20); /// Common messages for assertions From 43fe51fd9f2f786a44f6b95e3abc191bd041d337 Mon Sep 17 00:00:00 2001 From: Nicolas CHAIX Date: Wed, 5 Aug 2026 11:16:01 +0200 Subject: [PATCH 4/4] Extract if-not-ready initialize guard into InitializeHelper.initializeIfNeeded Removes the duplicated `if (!isReady) { InitializeHelper.initialize(...) }` block from every integration test in favor of a single helper method, per review feedback on PR #159. --- .../integration_test/consent_state_test.dart | 15 +-- .../get_current_user_status_test.dart | 15 +-- .../get_user_status_test.dart | 15 +-- .../language_update_test.dart | 10 +- .../integration_test/preferences_test.dart | 10 +- example/integration_test/purpose_test.dart | 15 +-- example/integration_test/regulation_test.dart | 5 +- .../set_current_user_status_test.dart | 30 +---- .../set_user_consent_test.dart | 50 ++------ .../set_user_with_encryption_test.dart | 120 ++++-------------- .../set_user_with_hash_test.dart | 120 ++++-------------- .../set_user_with_id_test.dart | 40 ++---- example/integration_test/text_test.dart | 25 +--- .../transactions_with_chaining_test.dart | 40 ++---- .../transactions_with_purposes_test.dart | 40 ++---- .../transactions_with_vendors_test.dart | 40 ++---- .../util/initialize_helper.dart | 9 ++ example/integration_test/vendor_test.dart | 20 +-- 18 files changed, 131 insertions(+), 488 deletions(-) diff --git a/example/integration_test/consent_state_test.dart b/example/integration_test/consent_state_test.dart index 59dff179..475119ec 100644 --- a/example/integration_test/consent_state_test.dart +++ b/example/integration_test/consent_state_test.dart @@ -54,10 +54,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -80,10 +77,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -140,10 +134,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/get_current_user_status_test.dart b/example/integration_test/get_current_user_status_test.dart index 48475b31..0bab4c62 100644 --- a/example/integration_test/get_current_user_status_test.dart +++ b/example/integration_test/get_current_user_status_test.dart @@ -53,10 +53,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -114,10 +111,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -179,10 +173,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/get_user_status_test.dart b/example/integration_test/get_user_status_test.dart index 67b75214..36311e3d 100644 --- a/example/integration_test/get_user_status_test.dart +++ b/example/integration_test/get_user_status_test.dart @@ -52,10 +52,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -84,10 +81,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -129,10 +123,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/language_update_test.dart b/example/integration_test/language_update_test.dart index bfa0ba44..a9275fea 100644 --- a/example/integration_test/language_update_test.dart +++ b/example/integration_test/language_update_test.dart @@ -64,10 +64,7 @@ void main() { assert(isError == false); assert(isReady == false); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -94,10 +91,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/preferences_test.dart b/example/integration_test/preferences_test.dart index 9711106d..17c55ef3 100644 --- a/example/integration_test/preferences_test.dart +++ b/example/integration_test/preferences_test.dart @@ -67,10 +67,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -110,10 +107,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/purpose_test.dart b/example/integration_test/purpose_test.dart index 8d1888e0..c0e0047a 100644 --- a/example/integration_test/purpose_test.dart +++ b/example/integration_test/purpose_test.dart @@ -107,10 +107,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -130,10 +127,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -154,10 +148,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/regulation_test.dart b/example/integration_test/regulation_test.dart index 4bbbce0e..83bc490f 100644 --- a/example/integration_test/regulation_test.dart +++ b/example/integration_test/regulation_test.dart @@ -50,10 +50,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/set_current_user_status_test.dart b/example/integration_test/set_current_user_status_test.dart index a7846adc..1ec1c3b2 100644 --- a/example/integration_test/set_current_user_status_test.dart +++ b/example/integration_test/set_current_user_status_test.dart @@ -53,10 +53,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -125,10 +122,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -194,10 +188,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -264,10 +255,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -340,10 +328,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -416,10 +401,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/set_user_consent_test.dart b/example/integration_test/set_user_consent_test.dart index c6d1cdd7..f5a49813 100644 --- a/example/integration_test/set_user_consent_test.dart +++ b/example/integration_test/set_user_consent_test.dart @@ -121,10 +121,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -159,10 +156,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -201,10 +195,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -239,10 +230,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -284,10 +272,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -310,10 +295,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); // Second click returns false await tester.tap(userStatusBtnFinder); @@ -336,10 +318,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -384,10 +363,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -410,10 +386,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); // Second click returns false await tester.tap(userStatusGloballyBtnFinder); @@ -436,10 +409,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/set_user_with_encryption_test.dart b/example/integration_test/set_user_with_encryption_test.dart index f8587ea8..57dab511 100644 --- a/example/integration_test/set_user_with_encryption_test.dart +++ b/example/integration_test/set_user_with_encryption_test.dart @@ -107,10 +107,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -163,10 +160,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -215,10 +209,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -269,10 +260,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -328,10 +316,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -387,10 +372,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -448,10 +430,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -507,10 +486,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -566,10 +542,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -628,10 +601,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -691,10 +661,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -754,10 +721,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -818,10 +782,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -877,10 +838,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -936,10 +894,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -998,10 +953,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1061,10 +1013,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1124,10 +1073,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1189,10 +1135,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1252,10 +1195,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1315,10 +1255,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1380,10 +1317,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1446,10 +1380,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1512,10 +1443,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); diff --git a/example/integration_test/set_user_with_hash_test.dart b/example/integration_test/set_user_with_hash_test.dart index 95d22a98..3d93f5be 100644 --- a/example/integration_test/set_user_with_hash_test.dart +++ b/example/integration_test/set_user_with_hash_test.dart @@ -108,10 +108,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -177,10 +174,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -246,10 +240,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -317,10 +308,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -389,10 +377,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -461,10 +446,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -535,10 +517,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -607,10 +586,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -679,10 +655,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -753,10 +726,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -828,10 +798,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -903,10 +870,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -980,10 +944,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1052,10 +1013,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1124,10 +1082,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1199,10 +1154,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1275,10 +1227,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1351,10 +1300,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1429,10 +1375,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1505,10 +1448,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1581,10 +1521,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1659,10 +1596,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1738,10 +1672,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -1817,10 +1748,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); diff --git a/example/integration_test/set_user_with_id_test.dart b/example/integration_test/set_user_with_id_test.dart index de034f08..7159b0a7 100644 --- a/example/integration_test/set_user_with_id_test.dart +++ b/example/integration_test/set_user_with_id_test.dart @@ -160,10 +160,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); // Clear user for bulk tests await tester.tap(clearUser); @@ -193,10 +190,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -238,10 +232,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -283,10 +274,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -328,10 +316,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -367,10 +352,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -412,10 +394,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); @@ -457,10 +436,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); resetExpectedSyncValues(); diff --git a/example/integration_test/text_test.dart b/example/integration_test/text_test.dart index 33b4ce7c..10fa1204 100644 --- a/example/integration_test/text_test.dart +++ b/example/integration_test/text_test.dart @@ -116,10 +116,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -135,10 +132,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -165,10 +159,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -187,10 +178,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -217,10 +205,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/transactions_with_chaining_test.dart b/example/integration_test/transactions_with_chaining_test.dart index faa34604..13240bd2 100644 --- a/example/integration_test/transactions_with_chaining_test.dart +++ b/example/integration_test/transactions_with_chaining_test.dart @@ -35,10 +35,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -60,10 +57,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -85,10 +79,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -110,10 +101,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -137,10 +125,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -162,10 +147,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -187,10 +169,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -212,10 +191,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/transactions_with_purposes_test.dart b/example/integration_test/transactions_with_purposes_test.dart index 41c98176..0f16c379 100644 --- a/example/integration_test/transactions_with_purposes_test.dart +++ b/example/integration_test/transactions_with_purposes_test.dart @@ -36,10 +36,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -60,10 +57,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -84,10 +78,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -108,10 +99,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -134,10 +122,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -158,10 +143,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -182,10 +164,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -206,10 +185,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/transactions_with_vendors_test.dart b/example/integration_test/transactions_with_vendors_test.dart index 2b22d507..0464e5e1 100644 --- a/example/integration_test/transactions_with_vendors_test.dart +++ b/example/integration_test/transactions_with_vendors_test.dart @@ -36,10 +36,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -60,10 +57,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -84,10 +78,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -108,10 +99,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -134,10 +122,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -159,10 +144,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -183,10 +165,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -207,10 +186,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/util/initialize_helper.dart b/example/integration_test/util/initialize_helper.dart index 8f035c2c..e772cd42 100644 --- a/example/integration_test/util/initialize_helper.dart +++ b/example/integration_test/util/initialize_helper.dart @@ -34,4 +34,13 @@ class InitializeHelper { await expectLater(isReady(), isTrue, reason: "onReady event was not received before timeout"); } } + + /// Tap [finder] to initialize the SDK, but only if [isReady] reports false. + /// + /// Wraps [initialize] with the `if (!isReady())` guard otherwise duplicated + /// at every call site across the integration test suite. + static Future initializeIfNeeded(WidgetTester tester, Finder finder, {required bool Function() isReady}) async { + if (isReady()) return; + await initialize(tester, finder, isReady: isReady); + } } diff --git a/example/integration_test/vendor_test.dart b/example/integration_test/vendor_test.dart index a4f521d6..84cd0199 100644 --- a/example/integration_test/vendor_test.dart +++ b/example/integration_test/vendor_test.dart @@ -104,10 +104,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -127,10 +124,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -151,10 +145,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); @@ -180,10 +171,7 @@ void main() { app.main(); await tester.pumpAndSettle(); - if (!isReady) { - // Initialize if not ready - await InitializeHelper.initialize(tester, initializeBtnFinder, isReady: () => isReady); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true);