diff --git a/example/integration_test/consent_state_test.dart b/example/integration_test/consent_state_test.dart index 2cfa11a4..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); - } + 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); - } + 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); - } + 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 ec89d8a0..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); - } + 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); - } + 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); - } + 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 fe5e53be..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); - } + 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); - } + 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); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); 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..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); - } + 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); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); 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..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); - } + 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); - } + 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 532d1899..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); - } + 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); - } + 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); - } + 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 4f53493f..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); - } + 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 fb817902..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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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 7fbd426e..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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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 ebcd63e5..57dab511 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; @@ -54,9 +48,12 @@ void main() { DidomiSdk.addEventListener(listener); Future waitForSync(WidgetTester tester) async { - // Wait for sync result + // Wait for sync result. + final startTime = DateTime.now(); await tester.runAsync(() async { - while (syncReadyEvent == null && !syncError) { + while (syncReadyEvent == null && + !syncError && + DateTime.now().difference(startTime) < syncTimeout) { await Future.delayed(Duration(milliseconds: 100)); } }); @@ -64,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); } @@ -93,7 +88,6 @@ void main() { app.main(); await tester.pumpAndSettle(); - assert(syncDoneUserId == null); assert(syncError == false); assert(syncReadyEvent == null); @@ -113,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(); @@ -169,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(); @@ -221,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(); @@ -275,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(); @@ -334,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(); @@ -393,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(); @@ -454,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(); @@ -513,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(); @@ -572,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(); @@ -634,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(); @@ -697,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(); @@ -760,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(); @@ -824,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(); @@ -883,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(); @@ -942,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(); @@ -1004,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(); @@ -1067,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(); @@ -1130,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(); @@ -1195,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(); @@ -1258,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(); @@ -1321,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(); @@ -1386,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(); @@ -1452,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(); @@ -1518,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 09a623e5..3d93f5be 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; @@ -55,9 +49,12 @@ void main() { DidomiSdk.addEventListener(listener); Future waitForSync(WidgetTester tester) async { - // Wait for sync result + // Wait for sync result. + final startTime = DateTime.now(); await tester.runAsync(() async { - while (syncReadyEvent == null && !syncError) { + while (syncReadyEvent == null && + !syncError && + DateTime.now().difference(startTime) < syncTimeout) { await Future.delayed(Duration(milliseconds: 100)); } }); @@ -65,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); } @@ -94,7 +89,6 @@ void main() { app.main(); await tester.pumpAndSettle(); - assert(syncDoneUserId == null); assert(syncError == false); assert(syncReadyEvent == null); @@ -114,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(); @@ -183,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(); @@ -252,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(); @@ -323,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(); @@ -395,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(); @@ -467,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(); @@ -541,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(); @@ -613,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(); @@ -685,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(); @@ -759,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(); @@ -834,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(); @@ -909,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(); @@ -986,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(); @@ -1058,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(); @@ -1130,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(); @@ -1205,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(); @@ -1281,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(); @@ -1357,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(); @@ -1435,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(); @@ -1511,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(); @@ -1587,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(); @@ -1665,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(); @@ -1744,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(); @@ -1823,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 13d92356..7159b0a7 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; @@ -53,9 +48,12 @@ void main() { DidomiSdk.addEventListener(listener); Future waitForSync(WidgetTester tester) async { - // Wait for sync result + // Wait for sync result. + final startTime = DateTime.now(); await tester.runAsync(() async { - while (syncReadyEvent == null && !syncError) { + while (syncReadyEvent == null && + !syncError && + DateTime.now().difference(startTime) < syncTimeout) { await Future.delayed(Duration(milliseconds: 100)); } }); @@ -92,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); @@ -107,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); } @@ -125,7 +120,6 @@ void main() { app.main(); await tester.pumpAndSettle(); - assert(syncDoneUserId == null); assert(syncError == false); assert(syncReadyEvent == null); @@ -166,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); @@ -190,7 +181,6 @@ void main() { await waitForSync(tester); // Encryption parameters are not valid - assert(syncDoneUserId == null); assert(syncError == true); assert(syncReadyEvent == null); }); @@ -200,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(); @@ -234,7 +221,7 @@ void main() { await waitForSync(tester); - assert(syncDoneUserId == userId); + assert(syncReadyEvent?.organizationUserId == userId); assert(syncError == false); await assertSyncReadyEvent(tester); @@ -245,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(); @@ -279,7 +263,7 @@ void main() { await waitForSync(tester); - assert(syncDoneUserId == userId); + assert(syncReadyEvent?.organizationUserId == userId); assert(syncError == false); await assertSyncReadyEvent(tester); @@ -290,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(); @@ -324,7 +305,7 @@ void main() { await waitForSync(tester); - assert(syncDoneUserId == userId); + assert(syncReadyEvent?.organizationUserId == userId); assert(syncError == false); await assertSyncReadyEvent(tester); @@ -335,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(); @@ -374,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(); @@ -419,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(); @@ -464,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/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..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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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 1e8d0631..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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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 3d0c8786..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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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 009928cd..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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + 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); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); diff --git a/example/integration_test/util/constants.dart b/example/integration_test/util/constants.dart index 79032774..5305bd01 100644 --- a/example/integration_test/util/constants.dart +++ b/example/integration_test/util/constants.dart @@ -1,3 +1,7 @@ +/// 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 const defaultMessage = "Native message: --"; const notReadyMessage = "Native message: Failed: 'Didomi SDK is not ready. Use the onReady callback to access this method.'."; diff --git a/example/integration_test/util/initialize_helper.dart b/example/integration_test/util/initialize_helper.dart index cae6c627..e772cd42 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,24 @@ 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"); + } + } + + /// 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 e261d861..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); - } + 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); - } + 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); - } + 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); - } + await InitializeHelper.initializeIfNeeded(tester, initializeBtnFinder, isReady: () => isReady); assert(isError == false); assert(isReady == true); 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);