Skip to content

Commit a7bf230

Browse files
committed
[flaky tests] Live Activities needs to wait for user setup
* These tests check the mock client's number of requests executed, but it was counting the user setup request as well (such as Fetch Identity By Subscription). Add a waiting period for this before creating the Live Activities requests) * An alternative is to set the user and push subscription ID manually without triggering a request to be made.
1 parent 6639922 commit a7bf230

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

iOS_SDK/OneSignalSDK/OneSignalLiveActivitiesTests/OSLiveActivitiesExecutorTests.swift

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
5656
OneSignalCoreImpl.setSharedClient(mockClient)
5757
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
5858
OneSignalUserManagerImpl.sharedInstance.start()
59+
// Wait for any user setup requests to complete
60+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
5961
mockClient.reset()
6062

6163
let request = OSRequestSetStartToken(key: "my-activity-type", token: "my-token")
@@ -81,6 +83,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
8183
OneSignalCoreImpl.setSharedClient(mockClient)
8284
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
8385
OneSignalUserManagerImpl.sharedInstance.start()
86+
// Wait for any user setup requests to complete
87+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
8488
mockClient.reset()
8589

8690
let request = OSRequestRemoveStartToken(key: "my-activity-type")
@@ -104,6 +108,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
104108
OneSignalCoreImpl.setSharedClient(mockClient)
105109
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
106110
OneSignalUserManagerImpl.sharedInstance.start()
111+
// Wait for any user setup requests to complete
112+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
107113
mockClient.reset()
108114

109115
let request = OSRequestSetUpdateToken(key: "my-activity-id", token: "my-token")
@@ -129,6 +135,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
129135
OneSignalCoreImpl.setSharedClient(mockClient)
130136
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
131137
OneSignalUserManagerImpl.sharedInstance.start()
138+
// Wait for any user setup requests to complete
139+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
132140
mockClient.reset()
133141

134142
let request = OSRequestRemoveStartToken(key: "my-activity-id")
@@ -171,6 +179,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
171179
OneSignalCoreImpl.setSharedClient(mockClient)
172180
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
173181
OneSignalUserManagerImpl.sharedInstance.start()
182+
// Wait for any user setup requests to complete
183+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
174184
mockClient.reset()
175185

176186
let request = OSRequestSetStartToken(key: "my-activity-type", token: "my-token")
@@ -196,6 +206,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
196206
OneSignalCoreImpl.setSharedClient(mockClient)
197207
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
198208
OneSignalUserManagerImpl.sharedInstance.start()
209+
// Wait for any user setup requests to complete
210+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
199211
mockClient.reset()
200212

201213
let request = OSRequestSetStartToken(key: "my-activity-type", token: "my-token")
@@ -219,6 +231,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
219231
OneSignalCoreImpl.setSharedClient(mockClient)
220232
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
221233
OneSignalUserManagerImpl.sharedInstance.start()
234+
// Wait for any user setup requests to complete
235+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
222236
mockClient.reset()
223237

224238
let request1 = OSRequestSetStartToken(key: "my-activity-type", token: "my-token")
@@ -246,6 +260,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
246260
OneSignalCoreImpl.setSharedClient(mockClient)
247261
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
248262
OneSignalUserManagerImpl.sharedInstance.start()
263+
// Wait for any user setup requests to complete
264+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
249265
mockClient.reset()
250266

251267
let request1 = OSRequestSetStartToken(key: "my-activity-type", token: "my-token-1")
@@ -274,6 +290,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
274290
OneSignalCoreImpl.setSharedClient(mockClient)
275291
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
276292
OneSignalUserManagerImpl.sharedInstance.start()
293+
// Wait for any user setup requests to complete
294+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
277295
mockClient.reset()
278296

279297
let request1 = OSRequestSetStartToken(key: "my-activity-type", token: "my-token-1")
@@ -301,6 +319,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
301319
OneSignalCoreImpl.setSharedClient(mockClient)
302320
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
303321
OneSignalUserManagerImpl.sharedInstance.start()
322+
// Wait for any user setup requests to complete
323+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
304324
mockClient.reset()
305325

306326
let request1 = OSRequestSetUpdateToken(key: "my-activity-id", token: "my-token")
@@ -328,6 +348,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
328348
OneSignalCoreImpl.setSharedClient(mockClient)
329349
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
330350
OneSignalUserManagerImpl.sharedInstance.start()
351+
// Wait for any user setup requests to complete
352+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
331353
mockClient.reset()
332354

333355
let request1 = OSRequestSetUpdateToken(key: "my-activity-id", token: "my-token-1")
@@ -356,6 +378,8 @@ final class OSLiveActivitiesExecutorTests: XCTestCase {
356378
OneSignalCoreImpl.setSharedClient(mockClient)
357379
OneSignalUserDefaults.initShared().saveString(forKey: OSUD_LEGACY_PLAYER_ID, withValue: "my-subscription-id")
358380
OneSignalUserManagerImpl.sharedInstance.start()
381+
// Wait for any user setup requests to complete
382+
OneSignalCoreMocks.waitForBackgroundThreads(seconds: 0.2)
359383
mockClient.reset()
360384

361385
let request1 = OSRequestSetUpdateToken(key: "my-activity-id", token: "my-token-1")

0 commit comments

Comments
 (0)