Skip to content

Commit 84eb65f

Browse files
feat: new behavior test
1 parent 11b13fa commit 84eb65f

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

sdk/src/androidTest/java/ly/count/android/sdk/scUP_UserProfileTests.java

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,29 +123,42 @@ public void eventSaveScenario_changeDeviceIDWithoutMerge() throws JSONException
123123
/**
124124
* Related user properties should not be saved with session calls,
125125
* call order, user property before session, begin session, user property after begin session, update session, user property after update session, end session
126-
* generated request order begin_session + update_session + user properties + end_session
126+
* generated request order begin_session + orientation + update_session + user properties + end_session
127+
* UPDATE: session calls now trigger saving properties like events as well thus this test does fail
127128
*/
128129
@Test
129-
public void eventSaveScenario_sessionCallsTriggersSave_legacyBehavior() {
130+
public void eventSaveScenario_sessionCallsTriggersSave_legacyBehavior() throws JSONException, InterruptedException {
130131
Countly countly = new Countly().init(TestUtils.createBaseConfig().enableManualSessionControl());
131132

132133
TestUtils.assertRQSize(0);
133134
countly.userProfile().setProperty("before_session", true);
134135

135136
countly.sessions().beginSession();
136-
TestUtils.assertRQSize(1); // only begin session request
137+
TestUtils.assertRQSize(2); // only begin session request, UPDATE: user property request before session
138+
ModuleUserProfileTests.validateUserProfileRequest(0, 2, TestUtils.map(), TestUtils.map("before_session", true));
139+
ModuleSessionsTests.validateSessionBeginRequest(1, TestUtils.commonDeviceId);
137140

138141
countly.userProfile().setProperty("after_begin_session", true);
139-
TestUtils.assertRQSize(1); // still begin session
142+
TestUtils.assertRQSize(2); // still begin session, UPDATE: user property request after begin session
143+
// no new user property request because it is validated along with begin session
144+
145+
Thread.sleep(2000);
140146

141147
countly.sessions().updateSession();
142-
TestUtils.assertRQSize(2); // only begin session and update session requests
148+
TestUtils.assertRQSize(5); // only begin session, orientation and update session requests, UPDATE: user property request after update session
149+
150+
ModuleUserProfileTests.validateUserProfileRequest(3, 5, TestUtils.map(), TestUtils.map("after_begin_session", true));
151+
ModuleSessionsTests.validateSessionUpdateRequest(4, 2, TestUtils.commonDeviceId);
143152

144153
countly.userProfile().setProperty("after_update_session", true);
145-
TestUtils.assertRQSize(2); // still begin session and update session requests
154+
TestUtils.assertRQSize(5); // still begin session and update session requests
155+
// no new user property request because it is validated along with update session
156+
Thread.sleep(2000);
146157

147158
countly.sessions().endSession();
148-
TestUtils.assertRQSize(4); // begin, update, user properties and end session requests
159+
TestUtils.assertRQSize(7); // begin, update, user properties and end session requests
160+
ModuleUserProfileTests.validateUserProfileRequest(5, 7, TestUtils.map(), TestUtils.map("after_update_session", true));
161+
ModuleSessionsTests.validateSessionEndRequest(6, 2, TestUtils.commonDeviceId);
149162
}
150163

151164
/**

0 commit comments

Comments
 (0)