@@ -485,14 +485,22 @@ class StateManagementTests: XCTestCase {
485
485
// MARK: - Test enqueue event
486
486
487
487
@MainActor
488
- func testEnqueueEvent ( ) async throws {
488
+ func testEnqueueEvents ( ) async throws {
489
489
var initialState = INITIALIZED_TEST_STATE ( )
490
490
initialState. phoneNumber = " 555BLOB "
491
491
let store = TestStore ( initialState: initialState, reducer: KlaviyoReducer ( ) )
492
- let event = Event ( name: . OpenedPush, properties: [ " push_token " : initialState. pushTokenData!. pushToken] )
493
- _ = await store. send ( . enqueueEvent( event) ) {
494
- let newEvent = Event ( name: . OpenedPush, properties: event. properties, identifiers: . init( phoneNumber: $0. phoneNumber) )
495
- try $0. enqueueRequest ( request: . init( apiKey: XCTUnwrap ( $0. apiKey) , endpoint: . createEvent( . init( data: . init( event: newEvent, anonymousId: XCTUnwrap ( $0. anonymousId) ) ) ) ) )
492
+
493
+ for eventName in Event . EventName. allCases {
494
+ let event = Event ( name: eventName, properties: [ " push_token " : initialState. pushTokenData!. pushToken] )
495
+ await store. send ( . enqueueEvent( event) ) {
496
+ let newEvent = Event ( name: eventName, properties: event. properties, identifiers: . init( phoneNumber: $0. phoneNumber) )
497
+ try $0. enqueueRequest ( request: . init( apiKey: XCTUnwrap ( $0. apiKey) , endpoint: . createEvent( . init( data: . init( event: newEvent, anonymousId: XCTUnwrap ( $0. anonymousId) ) ) ) ) )
498
+ }
499
+
500
+ // if the event is opened push we want to flush immidietly, for all other events we flush during regular intervals set in code
501
+ if eventName == . OpenedPush {
502
+ await store. receive ( . flushQueue, timeout: TIMEOUT_NANOSECONDS)
503
+ }
496
504
}
497
505
}
498
506
@@ -501,7 +509,7 @@ class StateManagementTests: XCTestCase {
501
509
let initialState = INITILIZING_TEST_STATE ( )
502
510
let store = TestStore ( initialState: initialState, reducer: KlaviyoReducer ( ) )
503
511
504
- let event = Event ( name: . OpenedPush )
512
+ let event = Event ( name: . OpenedAppMetric )
505
513
await store. send ( . enqueueEvent( event) ) {
506
514
$0. pendingRequests = [ KlaviyoState . PendingRequest. event ( event) ]
507
515
}
@@ -512,7 +520,7 @@ class StateManagementTests: XCTestCase {
512
520
}
513
521
514
522
await store. receive ( . enqueueEvent( event) , timeout: TIMEOUT_NANOSECONDS) {
515
- let newEvent = Event ( name: . OpenedPush , identifiers: . init( phoneNumber: $0. phoneNumber) )
523
+ let newEvent = Event ( name: . OpenedAppMetric , identifiers: . init( phoneNumber: $0. phoneNumber) )
516
524
try $0. enqueueRequest (
517
525
request: . init( apiKey: XCTUnwrap ( $0. apiKey) ,
518
526
endpoint: . createEvent( . init(
0 commit comments