Skip to content

Commit d88da00

Browse files
fumito-itoleotianlizhan
authored andcommitted
pass appData for In-App Messaging's test message (#9134)
* add test to check appData parsing * parse appData for test message * fix by formatter
1 parent 32e0e4a commit d88da00

8 files changed

+47
-2
lines changed

FirebaseInAppMessaging/Sources/Data/FIRIAMFetchResponseParser.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@ - (FIRIAMMessageDefinition *)convertToMessageDefinitionWithMessageDict:(NSDictio
356356
}
357357
if (isTestMessage) {
358358
return [[FIRIAMMessageDefinition alloc] initTestMessageWithRenderData:renderData
359+
appData:dataBundle
359360
experimentPayload:experimentPayload];
360361
} else {
361362
return [[FIRIAMMessageDefinition alloc] initWithRenderData:renderData

FirebaseInAppMessaging/Sources/Data/FIRIAMMessageDefinition.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,13 @@ - (instancetype)initWithRenderData:(FIRIAMMessageRenderData *)renderData
7070
}
7171

7272
- (instancetype)initTestMessageWithRenderData:(FIRIAMMessageRenderData *)renderData
73+
appData:(nullable NSDictionary *)appData
7374
experimentPayload:(nullable ABTExperimentPayload *)experimentPayload {
7475
return [self initWithRenderData:renderData
7576
startTime:0
7677
endTime:0
7778
triggerDefinition:@[]
78-
appData:nil
79+
appData:appData
7980
experimentPayload:experimentPayload
8081
isTestMessage:YES];
8182
}

FirebaseInAppMessaging/Sources/Private/Data/FIRIAMMessageDefinition.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ NS_ASSUME_NONNULL_BEGIN
6565
* Create a test message definition.
6666
*/
6767
- (instancetype)initTestMessageWithRenderData:(FIRIAMMessageRenderData *)renderData
68+
appData:(nullable NSDictionary *)appData
6869
experimentPayload:(nullable ABTExperimentPayload *)experimentPayload;
6970

7071
- (BOOL)messageHasExpired;

FirebaseInAppMessaging/Tests/Unit/FIRIAMDisplayExecutorTests.m

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,7 @@ - (void)testFollowingActionURLForTestMessage {
519519

520520
FIRIAMMessageDefinition *testMessage =
521521
[[FIRIAMMessageDefinition alloc] initTestMessageWithRenderData:self.m1.renderData
522+
appData:nil
522523
experimentPayload:nil];
523524

524525
FIRInAppMessagingAction *testAction = [[FIRInAppMessagingAction alloc]
@@ -548,6 +549,7 @@ - (void)testClientTestMessageAvailableCase {
548549
OCMStub([self.mockTimeFetcher currentTimestampInSeconds]).andReturn(10);
549550
FIRIAMMessageDefinition *testMessage =
550551
[[FIRIAMMessageDefinition alloc] initTestMessageWithRenderData:self.m1.renderData
552+
appData:nil
551553
experimentPayload:nil];
552554

553555
[self.clientMessageCache setMessageData:@[ self.m2, testMessage, self.m4 ]];
@@ -756,6 +758,7 @@ - (void)testAnalyticsTrackingOnTestMessageClickCase {
756758

757759
FIRIAMMessageDefinition *testMessage =
758760
[[FIRIAMMessageDefinition alloc] initTestMessageWithRenderData:self.m2.renderData
761+
appData:nil
759762
experimentPayload:nil];
760763

761764
[self.clientMessageCache setMessageData:@[ testMessage ]];
@@ -790,6 +793,7 @@ - (void)testAnalyticsTrackingOnTestMessageDismissCase {
790793

791794
FIRIAMMessageDefinition *testMessage =
792795
[[FIRIAMMessageDefinition alloc] initTestMessageWithRenderData:self.m2.renderData
796+
appData:nil
793797
experimentPayload:nil];
794798

795799
[self.clientMessageCache setMessageData:@[ testMessage ]];
@@ -865,6 +869,7 @@ - (void)testNoAnalyticsTrackingOnTestMessage {
865869

866870
FIRIAMMessageDefinition *testMessage =
867871
[[FIRIAMMessageDefinition alloc] initTestMessageWithRenderData:self.m1.renderData
872+
appData:nil
868873
experimentPayload:nil];
869874

870875
// not expecting triggering analytics recording

FirebaseInAppMessaging/Tests/Unit/FIRIAMFetchFlowTests.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,7 @@ - (void)testTurnIntoTestigModeOnSeeingTestMessage {
315315

316316
FIRIAMMessageDefinition *testMessage =
317317
[[FIRIAMMessageDefinition alloc] initTestMessageWithRenderData:self.m2.renderData
318+
appData:nil
318319
experimentPayload:nil];
319320

320321
OCMStub([self.mockMessageFetcher
@@ -338,6 +339,7 @@ - (void)testNotTurningIntoTestingModeIfAlreadyInTestingMode {
338339

339340
FIRIAMMessageDefinition *testMessage =
340341
[[FIRIAMMessageDefinition alloc] initTestMessageWithRenderData:self.m2.renderData
342+
appData:nil
341343
experimentPayload:nil];
342344

343345
OCMStub([self.mockMessageFetcher

FirebaseInAppMessaging/Tests/Unit/FIRIAMFetchResponseParserTests.m

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,15 +182,22 @@ - (void)testParsingTestMessage {
182182
// In our fixture file used in this test, there is no fetch expiration time
183183
XCTAssertNil(fetchWaitTime);
184184

185-
XCTAssertEqual(2, [results count]);
185+
XCTAssertEqual(3, [results count]);
186186
XCTAssertEqual(0, discardCount);
187187

188188
// First is a test message and the second one is not.
189189
XCTAssertTrue(results[0].isTestMessage);
190190
XCTAssertTrue(results[0].renderData.renderingEffectSettings.isTestMessage);
191+
XCTAssertNil(results[0].appData);
191192

192193
XCTAssertFalse(results[1].isTestMessage);
193194
XCTAssertFalse(results[1].renderData.renderingEffectSettings.isTestMessage);
195+
196+
XCTAssertTrue(results[2].isTestMessage);
197+
XCTAssertTrue(results[2].renderData.renderingEffectSettings.isTestMessage);
198+
XCTAssertEqual(results[2].appData.count, 2);
199+
XCTAssertEqualObjects(results[2].appData[@"a"], @"b");
200+
XCTAssertEqualObjects(results[2].appData[@"c"], @"d");
194201
}
195202

196203
- (void)testParsingInvalidTestMessageNodes {

FirebaseInAppMessaging/Tests/Unit/FIRIAMMessageClientCacheTests.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,7 @@ - (void)testFetchTestMessageFirstOnNextOnAppOpenDisplayMsg_ok {
370370

371371
FIRIAMMessageDefinition *testMessage =
372372
[[FIRIAMMessageDefinition alloc] initTestMessageWithRenderData:m2.renderData
373+
appData:nil
373374
experimentPayload:nil];
374375

375376
// m1 and m3 are messages rendered on app open

FirebaseInAppMessaging/Tests/Unit/TestJsonDataWithTestMessageFromFetch.txt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,33 @@
6666
}
6767
}
6868
]
69+
},
70+
{
71+
"vanillaPayload": {
72+
"campaignId": "2108810525516234752"
73+
},
74+
"content": {
75+
"modal": {
76+
"title": {
77+
"text": "FAST",
78+
"hexColor": "#000000"
79+
},
80+
"body": {
81+
"hexColor": "#000000"
82+
},
83+
"backgroundHexColor": "#ffffff"
84+
}
85+
},
86+
"triggeringConditions": [
87+
{
88+
"fiamTrigger": "ON_FOREGROUND"
89+
}
90+
],
91+
"dataBundle": {
92+
"a":"b",
93+
"c":"d"
94+
},
95+
"isTestCampaign": true
6996
}
7097
]
7198
}

0 commit comments

Comments
 (0)