@@ -125,6 +125,30 @@ - (void)testFlushing_UsingV2API_WhenHeartbeatsAreStored_ReturnsNonEmptyPayload {
125
125
}];
126
126
}
127
127
128
+ - (void )testFlushingAsync_UsingV2API_WhenHeartbeatsAreStored_ReturnsNonEmptyPayload API_AVAILABLE(
129
+ ios (13.0 ), macosx(10.15 ), macCatalyst(13.0 ), tvos(13.0 ), watchos(6.0 )) {
130
+ // Given
131
+ FIRHeartbeatLogger *heartbeatLogger = self.heartbeatLogger ;
132
+ NSString *expectedDate = [[self class ] formattedStringForDate: [NSDate date ]];
133
+ // When
134
+ [heartbeatLogger log ];
135
+ XCTestExpectation *expectation = [self expectationWithDescription: @" async flush" ];
136
+ [heartbeatLogger
137
+ flushHeartbeatsIntoPayloadWithCompletionHandler: ^(FIRHeartbeatsPayload *heartbeatsPayload) {
138
+ // Then
139
+ [self assertEncodedPayloadHeader: FIRHeaderValueFromHeartbeatsPayload (heartbeatsPayload)
140
+ isEqualToPayloadJSON: @{
141
+ @" version" : @2 ,
142
+ @" heartbeats" : @[
143
+ @{@" agent" : @" dummy_agent" ,
144
+ @" dates" : @[ expectedDate ]}
145
+ ]
146
+ }];
147
+ [expectation fulfill ];
148
+ }];
149
+ [self waitForExpectations: @[ expectation ] timeout: 1.0 ];
150
+ }
151
+
128
152
- (void )testFlushing_UsingV2API_WhenNoHeartbeatsAreStored_ReturnsEmptyPayload {
129
153
// Given
130
154
FIRHeartbeatLogger *heartbeatLogger = self.heartbeatLogger ;
@@ -134,6 +158,21 @@ - (void)testFlushing_UsingV2API_WhenNoHeartbeatsAreStored_ReturnsEmptyPayload {
134
158
[self assertHeartbeatsPayloadIsEmpty: heartbeatsPayload];
135
159
}
136
160
161
+ - (void )testFlushingAsync_UsingV2API_WhenNoHeartbeatsAreStored_ReturnsEmptyPayload API_AVAILABLE(
162
+ ios (13.0 ), macosx(10.15 ), macCatalyst(13.0 ), tvos(13.0 ), watchos(6.0 )) {
163
+ // Given
164
+ FIRHeartbeatLogger *heartbeatLogger = self.heartbeatLogger ;
165
+ // When
166
+ XCTestExpectation *expectation = [self expectationWithDescription: @" async flush" ];
167
+ [heartbeatLogger
168
+ flushHeartbeatsIntoPayloadWithCompletionHandler: ^(FIRHeartbeatsPayload *heartbeatsPayload) {
169
+ // Then
170
+ [self assertHeartbeatsPayloadIsEmpty: heartbeatsPayload];
171
+ [expectation fulfill ];
172
+ }];
173
+ [self waitForExpectations: @[ expectation ] timeout: 1.0 ];
174
+ }
175
+
137
176
- (void )testLogAndFlushUsingV1API_AndThenFlushAgainUsingV2API_FlushesHeartbeatInTheFirstFlush {
138
177
// Given
139
178
FIRHeartbeatLogger *heartbeatLogger = self.heartbeatLogger ;
0 commit comments