@@ -18,6 +18,7 @@ - (void)setAppboyInstance:(Braze *)instance;
1818- (void )setEnableTypeDetection : (BOOL )enableTypeDetection ;
1919+ (BOOL )shouldDisableNotificationHandling ;
2020+ (Braze *)brazeInstance ;
21+ + (MPKitExecStatus *)updateUser : (FilteredMParticleUser *)user request : (NSDictionary <NSNumber *,NSString *> *)userIdentities ;
2122
2223@end
2324
@@ -73,7 +74,6 @@ - (void)testStartwithAdvancedConfig {
7374
7475 NSDictionary *testOptionsDictionary = @{ABKEnableAutomaticLocationCollectionKey:@(YES ),
7576 ABKSDKFlavorKey:@7 ,
76- ABKIDFADelegateKey: appBoy,
7777 @" ABKRquestProcessingPolicy" : @(1 ),
7878 @" ABKFlushInterval" :@(2 ),
7979 @" ABKSessionTimeout" :@(3 ),
@@ -84,6 +84,93 @@ - (void)testStartwithAdvancedConfig {
8484 XCTAssertEqualObjects (optionsDictionary, testOptionsDictionary);
8585}
8686
87+ - (void )testMpidForwardingOnStartUserIdZero {
88+ NSDictionary *kitConfiguration = @{@" apiKey" :@" BrazeID" ,
89+ @" id" :@42 ,
90+ @" ABKCollectIDFA" :@" true" ,
91+ @" ABKRequestProcessingPolicyOptionKey" : @" 1" ,
92+ @" ABKFlushIntervalOptionKey" :@" 2" ,
93+ @" ABKSessionTimeoutKey" :@" 3" ,
94+ @" ABKMinimumTriggerTimeIntervalKey" :@" 4" ,
95+ @" userIdentificationType" :@" MPID"
96+ };
97+
98+ MPKitAppboy *kitInstance = [[MPKitAppboy alloc ] init ];
99+
100+ [kitInstance didFinishLaunchingWithConfiguration: kitConfiguration];
101+
102+ MParticleUser *testUser = [[MParticleUser alloc ] init ];
103+ [testUser setValue: @(0 ) forKey: @" userId" ];
104+
105+ FilteredMParticleUser *filteredUser = [[FilteredMParticleUser alloc ] initWithMParticleUser: testUser kitConfiguration: kitConfiguration];
106+ id mockKitApi = OCMClassMock ([MPKitAPI class ]);
107+ OCMStub ([mockKitApi getCurrentUserWithKit: kitInstance]).andReturn (filteredUser);
108+ kitInstance.kitApi = mockKitApi;
109+
110+ id mockKitInstance = OCMPartialMock (kitInstance);
111+ [[mockKitInstance reject ] updateUser: [OCMArg any ] request: [OCMArg any ]];
112+ [kitInstance start ];
113+ [mockKitInstance verify ];
114+ }
115+
116+ - (void )testMpidForwardingOnStartUserIdPositive {
117+ NSDictionary *kitConfiguration = @{@" apiKey" :@" BrazeID" ,
118+ @" id" :@42 ,
119+ @" ABKCollectIDFA" :@" true" ,
120+ @" ABKRequestProcessingPolicyOptionKey" : @" 1" ,
121+ @" ABKFlushIntervalOptionKey" :@" 2" ,
122+ @" ABKSessionTimeoutKey" :@" 3" ,
123+ @" ABKMinimumTriggerTimeIntervalKey" :@" 4" ,
124+ @" userIdentificationType" :@" MPID"
125+ };
126+
127+ MPKitAppboy *kitInstance = [[MPKitAppboy alloc ] init ];
128+
129+ [kitInstance didFinishLaunchingWithConfiguration: kitConfiguration];
130+
131+ MParticleUser *testUser = [[MParticleUser alloc ] init ];
132+ [testUser setValue: @(1 ) forKey: @" userId" ];
133+
134+ FilteredMParticleUser *filteredUser = [[FilteredMParticleUser alloc ] initWithMParticleUser: testUser kitConfiguration: kitConfiguration];
135+ id mockKitApi = OCMClassMock ([MPKitAPI class ]);
136+ OCMStub ([mockKitApi getCurrentUserWithKit: kitInstance]).andReturn (filteredUser);
137+ kitInstance.kitApi = mockKitApi;
138+
139+ id mockKitInstance = OCMPartialMock (kitInstance);
140+ [[mockKitInstance expect ] updateUser: [OCMArg any ] request: [OCMArg any ]];
141+ [kitInstance start ];
142+ [mockKitInstance verify ];
143+ }
144+
145+ - (void )testMpidForwardingOnStartUserIdNegative {
146+ NSDictionary *kitConfiguration = @{@" apiKey" :@" BrazeID" ,
147+ @" id" :@42 ,
148+ @" ABKCollectIDFA" :@" true" ,
149+ @" ABKRequestProcessingPolicyOptionKey" : @" 1" ,
150+ @" ABKFlushIntervalOptionKey" :@" 2" ,
151+ @" ABKSessionTimeoutKey" :@" 3" ,
152+ @" ABKMinimumTriggerTimeIntervalKey" :@" 4" ,
153+ @" userIdentificationType" :@" MPID"
154+ };
155+
156+ MPKitAppboy *kitInstance = [[MPKitAppboy alloc ] init ];
157+
158+ [kitInstance didFinishLaunchingWithConfiguration: kitConfiguration];
159+
160+ MParticleUser *testUser = [[MParticleUser alloc ] init ];
161+ [testUser setValue: @(-1 ) forKey: @" userId" ];
162+
163+ FilteredMParticleUser *filteredUser = [[FilteredMParticleUser alloc ] initWithMParticleUser: testUser kitConfiguration: kitConfiguration];
164+ id mockKitApi = OCMClassMock ([MPKitAPI class ]);
165+ OCMStub ([mockKitApi getCurrentUserWithKit: kitInstance]).andReturn (filteredUser);
166+ kitInstance.kitApi = mockKitApi;
167+
168+ id mockKitInstance = OCMPartialMock (kitInstance);
169+ [[mockKitInstance expect ] updateUser: [OCMArg any ] request: [OCMArg any ]];
170+ [kitInstance start ];
171+ [mockKitInstance verify ];
172+ }
173+
87174// - (void)testEndpointOverride {
88175// MPKitAppboy *appBoy = [[MPKitAppboy alloc] init];
89176//
0 commit comments