Skip to content

Commit 261aa76

Browse files
committed
fix(android): update test case
1 parent 0d9c7f1 commit 261aa76

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

android/src/test/java/com/instabug/reactlibrary/RNInstabugSessionReplayModuleTest.java

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static junit.framework.TestCase.assertTrue;
55

66
import static org.mockito.Matchers.any;
7+
import static org.mockito.Mockito.doAnswer;
78
import static org.mockito.Mockito.mock;
89
import static org.mockito.Mockito.mockStatic;
910
import static org.mockito.Mockito.spy;
@@ -34,6 +35,7 @@
3435
import java.util.concurrent.CountDownLatch;
3536
import java.util.concurrent.Executors;
3637
import java.util.concurrent.ScheduledExecutorService;
38+
import java.util.concurrent.atomic.AtomicBoolean;
3739

3840

3941
public class RNInstabugSessionReplayModuleTest {
@@ -141,41 +143,44 @@ public void testSetSyncCallback() throws Exception {
141143
MockedStatic mockArgument = mockStatic(Arguments.class);
142144
RNInstabugSessionReplayModule SRModule = spy(new RNInstabugSessionReplayModule(mock(ReactApplicationContext.class)));
143145

144-
CountDownLatch latch =new CountDownLatch(1);
145-
SRModule.latch=latch;
146+
AtomicBoolean result = new AtomicBoolean(false);
147+
boolean shouldSync=true;
146148

147149
when(Arguments.createMap()).thenReturn(new JavaOnlyMap());
148150

149151
mockSessionReplay.when(() -> SessionReplay.setSyncCallback(any(SessionSyncListener.class)))
150152
.thenAnswer(new Answer<Void>() {
151153
@Override
152154
public Void answer(InvocationOnMock invocation) {
153-
((SessionSyncListener) invocation.getArguments()[0]).onSessionReadyToSync(new SessionMetadata("device","android","1.0",20));
155+
SessionSyncListener listener = (SessionSyncListener) invocation.getArguments()[0];
156+
SessionMetadata metadata = new SessionMetadata("device", "android", "1.0", 20);
157+
boolean shouldSync=listener.onSessionReadyToSync(metadata);
158+
result.set(shouldSync);
154159
return null;
155160
}
156161
});
157162

163+
WritableMap params = Arguments.createMap();
164+
params.putString("appVersion","1.0");
165+
params.putString("OS","android");
166+
params.putString("device","device");
167+
params.putDouble("sessionDurationInSeconds",20);
168+
158169
Thread thread= new Thread (() ->{
159170
try {
160171
Thread.sleep(500);
161172
} catch (InterruptedException e) {
162173
throw new RuntimeException(e);
163174
}
164-
SRModule.evaluateSync(true);
175+
176+
SRModule.evaluateSync(shouldSync);
165177
});
178+
166179
thread.start();
167180

168181
SRModule.setSyncCallback();
169182

170-
WritableMap params = Arguments.createMap();
171-
params.putString("appVersion","1.0");
172-
params.putString("OS","android");
173-
params.putString("device","device");
174-
params.putDouble("sessionDurationInSeconds",20);
175-
176-
assertEquals(SRModule.shouldSync,true);
177-
assertTrue("Latch should be zero after evaluateSync is called", SRModule.latch.getCount() == 0);
178-
183+
assertEquals(shouldSync,result.get());
179184
verify(SRModule).sendEvent(Constants.IBG_SESSION_REPLAY_ON_SYNC_CALLBACK_INVOCATION, params);
180185
mockSessionReplay.verify(() -> SessionReplay.setSyncCallback(any(SessionSyncListener.class)));
181186

0 commit comments

Comments
 (0)