@@ -806,7 +806,7 @@ public IEnumerator MultiUser_SetPlayerDataWhenPlayerCachesExistButNoPlayersAreAc
806806
807807 // When
808808 bool loginCompleted = false ;
809- LootLockerSDKManager . StartGuestSession ( response =>
809+ LootLockerSDKManager . StartGuestSession ( "completely-novel-identifier" , response =>
810810 {
811811 ulids . Add ( response . player_ulid ) ;
812812 loginCompleted = true ;
@@ -826,6 +826,55 @@ public IEnumerator MultiUser_SetPlayerDataWhenPlayerCachesExistButNoPlayersAreAc
826826
827827 yield return null ;
828828 }
829+
830+ [ UnityTest , Category ( "LootLocker" ) , Category ( "LootLockerCI" ) , Category ( "LootLockerCIFast" ) ]
831+ public IEnumerator MultiUser_GetPlayerDataWhenPlayerCachesExistButNoPlayersAreActive_GetsPlayerAndSetsDefault ( )
832+ {
833+ // Setup Succeeded
834+ Assert . IsFalse ( SetupFailed , "Setup did not succeed" ) ;
835+
836+ // Given
837+ List < string > ulids = new List < string > ( ) ;
838+ int guestUsersToCreate = 3 ;
839+ for ( int i = 0 ; i < guestUsersToCreate ; i ++ )
840+ {
841+ bool guestLoginCompleted = false ;
842+ LootLockerSDKManager . StartGuestSession ( response =>
843+ {
844+ ulids . Add ( response . player_ulid ) ;
845+ guestLoginCompleted = true ;
846+ } ) ;
847+ yield return new WaitUntil ( ( ) => guestLoginCompleted ) ;
848+ }
849+
850+ foreach ( var ulid in ulids )
851+ {
852+ LootLockerStateData . SetPlayerULIDToInactive ( ulid ) ;
853+ }
854+
855+ // When
856+ bool pingCompleted = false ;
857+ string pingUlid = null ;
858+ LootLockerSDKManager . Ping ( response =>
859+ {
860+ pingUlid = response . requestContext . player_ulid ;
861+ pingCompleted = true ;
862+ } , ulids [ ulids . Count - 1 ] ) ;
863+ yield return new WaitUntil ( ( ) => pingCompleted ) ;
864+
865+ // Then
866+ int postPingActivePlayerCount = LootLockerStateData . GetActivePlayerULIDs ( ) . Count ;
867+ var postPingDefaultPlayerPlayerData = LootLockerStateData . GetStateForPlayerOrDefaultStateOrEmpty ( null ) ;
868+ var postPingDefaultPlayerUlid = LootLockerStateData . GetDefaultPlayerULID ( ) ;
869+
870+ Assert . AreEqual ( 1 , postPingActivePlayerCount ) ;
871+ Assert . IsNotNull ( postPingDefaultPlayerUlid ) ;
872+ Assert . IsNotNull ( postPingDefaultPlayerPlayerData ) ;
873+ Assert . AreEqual ( ulids [ ulids . Count - 1 ] , postPingDefaultPlayerUlid ) ;
874+ Assert . AreEqual ( ulids [ ulids . Count - 1 ] , postPingDefaultPlayerPlayerData . ULID ) ;
875+
876+ yield return null ;
877+ }
829878
830879 [ UnityTest , Category ( "LootLocker" ) , Category ( "LootLockerCI" ) , Category ( "LootLockerCIFast" ) ]
831880 public IEnumerator MultiUser_GetPlayerUlidFromWLEmailWhenPlayerIsCached_ReturnsCorrectULID ( )
0 commit comments