@@ -24,6 +24,8 @@ + (void)addIdentityAttributes:(NSMutableDictionary<NSString *, NSString *> * _Nu
2424
2525+ (void )handleHashedEmail : (NSMutableDictionary <NSString *, NSString *> * _Nullable)attributes ;
2626
27+ + (NSNumber *)getRoktHashedEmailUserIdentityType ;
28+
2729+ (RoktConfig *)convertMPRoktConfig : (MPRoktConfig *)mpRoktConfig ;
2830
2931+ (NSDictionary <NSString *, NSString *> *)transformValuesToString : (NSDictionary <NSString *, id> * _Nullable)originalDictionary ;
@@ -329,6 +331,72 @@ - (void)testAddIdentityAttributesWithExistingAttributes {
329331 XCTAssertEqualObjects (passedAttributes[@" device_application_stamp" ], @" Test DAS" );
330332}
331333
334+ - (void )testAddIdentityAttributesWithExistingAttributesAndOther {
335+ NSMutableDictionary <NSString *, NSString *> *passedAttributes = [[NSMutableDictionary alloc ] init ];
336+ [passedAttributes setObject: @" bar" forKey: @" foo" ];
337+ NSDictionary <NSNumber *, NSString *> *testIdentities = @{@(MPIdentityCustomerId): @" testCustomerID" ,
338+ @(MPIdentityEmail): @" testEmail@gmail.com" ,
339+ @(MPIdentityFacebook): @" testFacebook" ,
340+ @(MPIdentityFacebookCustomAudienceId): @" testCustomAudienceID" ,
341+ @(MPIdentityGoogle): @" testGoogle" ,
342+ @(MPIdentityMicrosoft): @" testMicrosoft" ,
343+ @(MPIdentityOther): @" testOther" ,
344+ @(MPIdentityTwitter): @" testTwitter" ,
345+ @(MPIdentityYahoo): @" testYahoo" ,
346+ @(MPIdentityOther2): @" testOther2" ,
347+ @(MPIdentityOther3): @" testOther3" ,
348+ @(MPIdentityOther4): @" testOther4" ,
349+ @(MPIdentityOther5): @" testOther5" ,
350+ @(MPIdentityOther6): @" testOther6" ,
351+ @(MPIdentityOther7): @" testOther7" ,
352+ @(MPIdentityOther8): @" testOther8" ,
353+ @(MPIdentityOther9): @" testOther9" ,
354+ @(MPIdentityOther10): @" testOther10" ,
355+ @(MPIdentityMobileNumber): @" 1(234)-567-8910" ,
356+ @(MPIdentityPhoneNumber2): @" 1(234)-567-2222" ,
357+ @(MPIdentityPhoneNumber3): @" 1(234)-567-3333" ,
358+ @(MPIdentityIOSAdvertiserId): @" testAdvertID" ,
359+ @(MPIdentityIOSVendorId): @" testVendorID" ,
360+ @(MPIdentityPushToken): @" testPushToken" ,
361+ @(MPIdentityDeviceApplicationStamp): @" Test DAS" };
362+
363+ FilteredMParticleUser *filteredUser = [[FilteredMParticleUser alloc ] init ];
364+ id mockfilteredUser = OCMPartialMock (filteredUser);
365+ [[[mockfilteredUser stub ] andReturn: testIdentities] userIdentities ];
366+ id mockMPKitRoktClass = OCMClassMock ([MPKitRokt class ]);
367+ [[[mockMPKitRoktClass stub ] andReturn: @(MPIdentityOther4)] getRoktHashedEmailUserIdentityType ];
368+
369+ [MPKitRokt addIdentityAttributes: passedAttributes filteredUser: filteredUser];
370+
371+ XCTAssertEqualObjects (passedAttributes[@" foo" ], @" bar" );
372+ XCTAssertEqualObjects (passedAttributes[@" customerid" ], @" testCustomerID" );
373+ XCTAssertEqualObjects (passedAttributes[@" email" ], @" testEmail@gmail.com" );
374+ XCTAssertEqualObjects (passedAttributes[@" facebook" ], @" testFacebook" );
375+ XCTAssertEqualObjects (passedAttributes[@" facebookcustomaudienceid" ], @" testCustomAudienceID" );
376+ XCTAssertEqualObjects (passedAttributes[@" google" ], @" testGoogle" );
377+ XCTAssertEqualObjects (passedAttributes[@" microsoft" ], @" testMicrosoft" );
378+ XCTAssertEqualObjects (passedAttributes[@" other" ], @" testOther" );
379+ XCTAssertEqualObjects (passedAttributes[@" emailsha256" ], @" testOther4" );
380+ XCTAssertEqualObjects (passedAttributes[@" twitter" ], @" testTwitter" );
381+ XCTAssertEqualObjects (passedAttributes[@" yahoo" ], @" testYahoo" );
382+ XCTAssertEqualObjects (passedAttributes[@" other2" ], @" testOther2" );
383+ XCTAssertEqualObjects (passedAttributes[@" other3" ], @" testOther3" );
384+ XCTAssertNil (passedAttributes[@" other4" ]);
385+ XCTAssertEqualObjects (passedAttributes[@" other5" ], @" testOther5" );
386+ XCTAssertEqualObjects (passedAttributes[@" other6" ], @" testOther6" );
387+ XCTAssertEqualObjects (passedAttributes[@" other7" ], @" testOther7" );
388+ XCTAssertEqualObjects (passedAttributes[@" other8" ], @" testOther8" );
389+ XCTAssertEqualObjects (passedAttributes[@" other9" ], @" testOther9" );
390+ XCTAssertEqualObjects (passedAttributes[@" other10" ], @" testOther10" );
391+ XCTAssertEqualObjects (passedAttributes[@" mobile_number" ], @" 1(234)-567-8910" );
392+ XCTAssertEqualObjects (passedAttributes[@" phone_number_2" ], @" 1(234)-567-2222" );
393+ XCTAssertEqualObjects (passedAttributes[@" phone_number_3" ], @" 1(234)-567-3333" );
394+ XCTAssertEqualObjects (passedAttributes[@" ios_idfa" ], @" testAdvertID" );
395+ XCTAssertEqualObjects (passedAttributes[@" ios_idfv" ], @" testVendorID" );
396+ XCTAssertEqualObjects (passedAttributes[@" push_token" ], @" testPushToken" );
397+ XCTAssertEqualObjects (passedAttributes[@" device_application_stamp" ], @" Test DAS" );
398+ }
399+
332400- (void )testConvertMPRoktConfig {
333401 MPRoktConfig *mpConfig = [[MPRoktConfig alloc ] init ];
334402 mpConfig.colorMode = MPColorModeDark;
0 commit comments