|
1 | 1 | package com.iterable.iterableapi; |
2 | 2 |
|
| 3 | +import android.app.Activity; |
3 | 4 | import android.net.Uri; |
4 | 5 |
|
5 | 6 | import org.json.JSONObject; |
|
10 | 11 | import org.mockito.Mockito; |
11 | 12 | import org.robolectric.Robolectric; |
12 | 13 | import org.robolectric.RuntimeEnvironment; |
| 14 | +import org.robolectric.android.controller.ActivityController; |
13 | 15 | import org.robolectric.shadows.ShadowApplication; |
14 | 16 |
|
15 | 17 | import java.io.IOException; |
@@ -246,14 +248,30 @@ public void testSetUserIdWithoutAutomaticPushRegistration() throws Exception { |
246 | 248 | } |
247 | 249 |
|
248 | 250 | @Test |
249 | | - public void testAutomaticPushRegistrationOnInit() throws Exception { |
| 251 | + public void testNoAutomaticPushRegistrationOnInit() throws Exception { |
250 | 252 | IterableApi.initialize(RuntimeEnvironment.application, "fake_key", new IterableConfig.Builder().setPushIntegrationName("pushIntegration").setAutoPushRegistration(true).build()); |
251 | 253 | IterableApi. getInstance(). setEmail( "[email protected]"); |
252 | 254 |
|
253 | 255 | reInitIterableApi(); |
254 | 256 | IterableApi.initialize(RuntimeEnvironment.application, "fake_key", new IterableConfig.Builder().setPushIntegrationName("pushIntegration").setAutoPushRegistration(true).build()); |
| 257 | + verify(IterableApi.sharedInstance, never()).registerForPush(); |
| 258 | + Mockito.reset(IterableApi.sharedInstance); |
| 259 | + } |
| 260 | + |
| 261 | + @Test |
| 262 | + public void testAutomaticPushRegistrationOnInitAndForeground() throws Exception { |
| 263 | + IterableApi.initialize(RuntimeEnvironment.application, "fake_key", new IterableConfig.Builder().setPushIntegrationName("pushIntegration").setAutoPushRegistration(true).build()); |
| 264 | + IterableApi. getInstance(). setEmail( "[email protected]"); |
| 265 | + |
| 266 | + reInitIterableApi(); |
| 267 | + IterableActivityMonitor.getInstance().unregisterLifecycleCallbacks(RuntimeEnvironment.application); |
| 268 | + IterableActivityMonitor.instance = new IterableActivityMonitor(); |
| 269 | + IterableApi.initialize(RuntimeEnvironment.application, "fake_key", new IterableConfig.Builder().setPushIntegrationName("pushIntegration").setAutoPushRegistration(true).build()); |
| 270 | + ActivityController<Activity> activityController = Robolectric.buildActivity(Activity.class).create().start().resume(); |
255 | 271 | verify(IterableApi.sharedInstance).registerForPush(); |
256 | 272 | Mockito.reset(IterableApi.sharedInstance); |
| 273 | + activityController.pause().stop().destroy(); |
| 274 | + IterableActivityMonitor.getInstance().unregisterLifecycleCallbacks(RuntimeEnvironment.application); |
257 | 275 | } |
258 | 276 |
|
259 | 277 | @Test |
|
0 commit comments