|
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