1
+ package fr .free .nrw .commons .nearby ;
2
+
3
+ import android .app .Activity ;
4
+ import android .support .v4 .app .Fragment ;
5
+
6
+ import org .junit .Before ;
7
+ import org .junit .Test ;
8
+ import org .junit .runner .RunWith ;
9
+ import org .mockito .Mock ;
10
+ import org .mockito .Mockito ;
11
+ import org .mockito .MockitoAnnotations ;
12
+ import org .robolectric .Robolectric ;
13
+ import org .robolectric .RobolectricTestRunner ;
14
+ import org .robolectric .RuntimeEnvironment ;
15
+ import org .robolectric .android .controller .ActivityController ;
16
+ import org .robolectric .annotation .Config ;
17
+
18
+ import dagger .android .AndroidInjector ;
19
+ import fr .free .nrw .commons .BuildConfig ;
20
+ import fr .free .nrw .commons .TestCommonsApplication ;
21
+ import fr .free .nrw .commons .location .LatLng ;
22
+ import fr .free .nrw .commons .location .LocationServiceManager ;
23
+
24
+ import static junit .framework .Assert .assertNotNull ;
25
+ import static org .mockito .Matchers .isA ;
26
+ import static org .mockito .Mockito .when ;
27
+
28
+ @ RunWith (RobolectricTestRunner .class )
29
+ @ Config (constants = BuildConfig .class , sdk = 21 , application = TestCommonsApplication .class )
30
+ public class NearbyActivityTest {
31
+
32
+ private static final LatLng ST_LOUIS_MO_LAT_LNG = new LatLng (38.627003 , -90.199402 , 0 );
33
+
34
+ @ Mock
35
+ LocationServiceManager mockLocationManager ;
36
+
37
+ private ActivityController <NearbyActivity > activityController ;
38
+ private NearbyActivity nearbyActivity ;
39
+
40
+ @ Before
41
+ public void setUp () throws Exception {
42
+ MockitoAnnotations .initMocks (this );
43
+
44
+ AndroidInjector <Activity > injector = ((TestCommonsApplication ) RuntimeEnvironment .application ).activityInjector ();
45
+ Mockito .doNothing ().when (injector ).inject (isA (NearbyActivity .class ));
46
+ when (mockLocationManager .getLastLocation ()).thenReturn (ST_LOUIS_MO_LAT_LNG );
47
+
48
+ activityController = Robolectric .buildActivity (NearbyActivity .class );
49
+ nearbyActivity = activityController .get ();
50
+ nearbyActivity .locationManager = mockLocationManager ;
51
+ }
52
+
53
+ @ Test
54
+ public void activityLaunchesAndShowsList () {
55
+ activityController .create ().resume ().visible ();
56
+ assertNotNull (nearbyActivity .getSupportFragmentManager ().findFragmentByTag ("NearbyListFragment" ));
57
+ }
58
+
59
+ }
0 commit comments