|
17 | 17 | import com.instabug.library.Instabug; |
18 | 18 | import com.instabug.library.InstabugColorTheme; |
19 | 19 | import com.instabug.library.InstabugCustomTextPlaceHolder; |
| 20 | +import com.instabug.library.IssueType; |
| 21 | +import com.instabug.library.ReproConfigurations; |
| 22 | +import com.instabug.library.ReproMode; |
20 | 23 | import com.instabug.library.internal.module.InstabugLocale; |
21 | 24 | import com.instabug.library.ui.onboarding.WelcomeMessage; |
22 | 25 | import com.instabug.library.visualusersteps.State; |
|
27 | 30 | import org.junit.Before; |
28 | 31 | import org.junit.Test; |
29 | 32 | import org.mockito.Matchers; |
| 33 | +import org.mockito.MockedConstruction; |
30 | 34 | import org.mockito.MockedStatic; |
31 | 35 | import org.mockito.Mockito; |
32 | 36 | import org.mockito.internal.verification.VerificationModeFactory; |
|
45 | 49 | import java.util.concurrent.Executors; |
46 | 50 | import java.util.concurrent.ScheduledExecutorService; |
47 | 51 |
|
| 52 | +import static org.mockito.ArgumentMatchers.anyInt; |
48 | 53 | import static org.mockito.Matchers.any; |
49 | 54 | import static org.mockito.Mockito.mock; |
| 55 | +import static org.mockito.Mockito.mockConstruction; |
50 | 56 | import static org.mockito.Mockito.mockStatic; |
51 | 57 | import static org.mockito.Mockito.times; |
52 | 58 | import static org.mockito.Mockito.verify; |
@@ -283,6 +289,28 @@ public void tearDown() { |
283 | 289 | } |
284 | 290 | } |
285 | 291 |
|
| 292 | + @Test |
| 293 | + public void givenArg$setReproStepsConfig_whenQuery_thenShouldCallNativeApiWithArg() { |
| 294 | + String bug = "reproStepsEnabled"; |
| 295 | + String crash = "reproStepsDisabled"; |
| 296 | + |
| 297 | + ReproConfigurations config = mock(ReproConfigurations.class); |
| 298 | + MockedConstruction<ReproConfigurations.Builder> mReproConfigurationsBuilder = mockConstruction(ReproConfigurations.Builder.class, (mock, context) -> { |
| 299 | + when(mock.setIssueMode(anyInt(), anyInt())).thenReturn(mock); |
| 300 | + when(mock.build()).thenReturn(config); |
| 301 | + }); |
| 302 | + |
| 303 | + rnModule.setReproStepsConfig(bug, crash); |
| 304 | + |
| 305 | + ReproConfigurations.Builder builder = mReproConfigurationsBuilder.constructed().get(0); |
| 306 | + |
| 307 | + verify(builder).setIssueMode(IssueType.Bug, ReproMode.EnableWithScreenshots); |
| 308 | + verify(builder).setIssueMode(IssueType.Crash, ReproMode.Disable); |
| 309 | + verify(builder).build(); |
| 310 | + |
| 311 | + mockInstabug.verify(() -> Instabug.setReproConfigurations(config)); |
| 312 | + } |
| 313 | + |
286 | 314 | @Test |
287 | 315 | public void givenArg$showWelcomeMessageWithMode_whenQuery_thenShouldCallNativeApiWithArg() { |
288 | 316 | // given |
|
0 commit comments