@@ -1428,7 +1428,36 @@ public void testSetCurrentUserStateWithoutAuthData() throws Exception {
1428
1428
// Make sure we keep the authData
1429
1429
assertEquals (1 , user .getAuthData ().size ());
1430
1430
assertEquals (authData , user .getAuthData ().get (authType ));
1431
- // Make sure old state is deleted
1431
+ // Make sure old state is replaced
1432
+ assertFalse (user .has ("oldKey" ));
1433
+ // Make sure new state is set
1434
+ assertEquals ("testAgain" , user .getObjectId ());
1435
+ assertEquals ("valueAgain" , user .get ("key" ));
1436
+ }
1437
+
1438
+ @ Test
1439
+ public void testSetStateDoesNotAddNonExistentAuthData () throws Exception {
1440
+ // Set user initial state
1441
+ ParseUser .State userState = new ParseUser .State .Builder ()
1442
+ .objectId ("test" )
1443
+ .put ("oldKey" , "oldValue" )
1444
+ .put ("key" , "value" )
1445
+ .build ();
1446
+ ParseUser user = ParseObject .from (userState );
1447
+ user .setIsCurrentUser (true );
1448
+ // Build new state
1449
+ ParseUser .State newUserState = new ParseUser .State .Builder ()
1450
+ .objectId ("testAgain" )
1451
+ .put ("key" , "valueAgain" )
1452
+ .build ();
1453
+
1454
+ user .setState (newUserState );
1455
+
1456
+ // Make sure we do not add authData when it did not exist before
1457
+ assertFalse (user .keySet ().contains ("authData" ));
1458
+ assertEquals (1 , user .keySet ().size ());
1459
+ assertEquals (0 , user .getAuthData ().size ());
1460
+ // Make sure old state is replaced
1432
1461
assertFalse (user .has ("oldKey" ));
1433
1462
// Make sure new state is set
1434
1463
assertEquals ("testAgain" , user .getObjectId ());
0 commit comments