|
6 | 6 |
|
7 | 7 | import com.facebook.react.bridge.Arguments; |
8 | 8 | import com.facebook.react.bridge.Callback; |
| 9 | +import com.facebook.react.bridge.JavaOnlyMap; |
| 10 | +import com.facebook.react.bridge.WritableMap; |
9 | 11 | import com.facebook.react.bridge.WritableNativeArray; |
10 | 12 | import com.instabug.bug.BugReporting; |
11 | 13 | import com.instabug.chat.Replies; |
12 | 14 | import com.instabug.library.Feature; |
13 | 15 | import com.instabug.reactlibrary.utils.InstabugUtil; |
| 16 | +import com.instabug.reactlibrary.utils.MapUtil; |
14 | 17 | import com.instabug.survey.Surveys; |
15 | 18 | import com.instabug.reactlibrary.utils.MainThreadHandler; |
16 | 19 |
|
|
27 | 30 |
|
28 | 31 | import java.util.concurrent.Executors; |
29 | 32 | import java.util.concurrent.ScheduledExecutorService; |
| 33 | +import java.util.Map; |
| 34 | +import java.util.HashMap; |
30 | 35 |
|
31 | 36 | import static org.mockito.Matchers.any; |
32 | 37 | import static org.mockito.Matchers.anyLong; |
@@ -170,6 +175,40 @@ public Boolean answer(InvocationOnMock invocation) throws Throwable { |
170 | 175 | Replies.setPushNotificationRegistrationToken("123"); |
171 | 176 | } |
172 | 177 |
|
| 178 | + @Test |
| 179 | + public void givenBoolean$showNotification_whenQuery_thenShouldCallNativeApi() { |
| 180 | + // given |
| 181 | + PowerMockito.mockStatic(Replies.class); |
| 182 | + PowerMockito.mockStatic(SystemClock.class); |
| 183 | + PowerMockito.mockStatic(Arguments.class); |
| 184 | + |
| 185 | + // when |
| 186 | + PowerMockito.when(Arguments.createMap()) |
| 187 | + .thenAnswer( |
| 188 | + new Answer<Object>() { |
| 189 | + @Override |
| 190 | + public Object answer(InvocationOnMock invocation) throws Throwable { |
| 191 | + return new JavaOnlyMap(); |
| 192 | + } |
| 193 | + }); |
| 194 | + |
| 195 | + Map<String, String> map = new HashMap<>(); |
| 196 | + PowerMockito.when(Replies.isInstabugNotification(map)) |
| 197 | + .thenAnswer( |
| 198 | + new Answer<Object>() { |
| 199 | + @Override |
| 200 | + public Object answer(InvocationOnMock invocation) throws Throwable { |
| 201 | + return true; |
| 202 | + } |
| 203 | + }); |
| 204 | + |
| 205 | + WritableMap readableMap = MapUtil.toWritableMap(new HashMap<String, Object>()); |
| 206 | + rnModule.showNotification(readableMap); |
| 207 | + |
| 208 | + PowerMockito.verifyStatic(VerificationModeFactory.times(1)); |
| 209 | + Replies.showNotification(map); |
| 210 | + } |
| 211 | + |
173 | 212 | @Test |
174 | 213 | public void givenBoolean$setNotificationIcon_whenQuery_thenShouldCallNativeApi() { |
175 | 214 | // given |
|
0 commit comments