From 8d43a4c39ee8445e9a2d79eebd1823d999ed758d Mon Sep 17 00:00:00 2001 From: Arif Burak Demiray Date: Fri, 5 Dec 2025 17:50:07 +0300 Subject: [PATCH] feat: tests for it --- Assets/Tests/PlayModeTests/SessionTests.cs | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/Assets/Tests/PlayModeTests/SessionTests.cs b/Assets/Tests/PlayModeTests/SessionTests.cs index e783c1f3..8ca20868 100644 --- a/Assets/Tests/PlayModeTests/SessionTests.cs +++ b/Assets/Tests/PlayModeTests/SessionTests.cs @@ -85,6 +85,56 @@ public void SessionBegin_Default() AssertSessionRequest(collection, "begin_session", null, true); } + + /// + /// It validates the functionality of 'BeginSessionAsync' with auto user props saving + /// + [Test] + public void SessionBegin_UserPropsSave() + { + CountlyConfiguration config = TestUtility.CreateBaseConfig(); + config.DisableAutomaticSessionTracking(); + Countly.Instance.Init(config); + + Countly cly = Countly.Instance; + cly.UserProfile.SetProperty("a12345", "My Property"); + _ = cly.Session.BeginSessionAsync(); + + TestUtility.ValidateRQEQSize(cly, 2, 0); + + CountlyRequestModel up1 = Countly.Instance.Session._requestCountlyHelper._requestRepo.Dequeue(); + NameValueCollection collection1 = HttpUtility.ParseQueryString(up1.RequestData); + Assert.AreEqual("{\"custom\":{\"a12345\":\"My Property\"}}", collection1.Get("user_details")); + + CountlyRequestModel requestModel = Countly.Instance.Session._requestCountlyHelper._requestRepo.Dequeue(); + NameValueCollection collection = HttpUtility.ParseQueryString(requestModel.RequestData); + + AssertSessionRequest(collection, "begin_session", null, true); + } + + /// + /// It validates the functionality of 'BeginSessionAsync' with auto user props saving reversed + /// + [Test] + public void SessionBegin_UserPropsSave_Reversed() + { + CountlyConfiguration config = TestUtility.CreateBaseConfig(); + config.DisableAutomaticSessionTracking(); + config.DisableAutoSendUserPropertiesOnSessions(); + Countly.Instance.Init(config); + + Countly cly = Countly.Instance; + cly.UserProfile.SetProperty("a12345", "My Property"); + _ = cly.Session.BeginSessionAsync(); + + TestUtility.ValidateRQEQSize(cly, 1, 0); + + CountlyRequestModel requestModel = Countly.Instance.Session._requestCountlyHelper._requestRepo.Dequeue(); + NameValueCollection collection = HttpUtility.ParseQueryString(requestModel.RequestData); + + AssertSessionRequest(collection, "begin_session", null, true); + } + /// /// It validates the functionality of 'BeginSessionAsync' with location values. ///