@Test public void testOnItemClick_startsFullPhotoViewIntent() { subject.setupPhotoList(); RecyclerView recyclerView = subject.getPhotoRecyclerView(); recyclerView.measure(0, 0); recyclerView.layout(0, 0, 100, 1000); RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForAdapterPosition(0); View view = viewHolder.itemView; view.performClick(); Intent expectedIntent = new Intent(subject, PhotoFullScreenActivity.class); ShadowActivity shadowActivity = Shadows.shadowOf(subject); Intent actualIntent = shadowActivity.getNextStartedActivity(); Assertions.assertThat(actualIntent).isNotNull(); assertTrue(actualIntent.filterEquals(expectedIntent)); }
@Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); Mockito.stub(mPhotoListManager.getPhotoListFetched()).toReturn(true); activityController = Robolectric.buildActivity(PhotosListViewActivity.class); subject = activityController.get(); Mockito.doAnswer( new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { subject.requestPermissionCallback.Granted(1); return null; } }) .when(mRequestPermissionUtils) .requestPermission( subject, Manifest.permission.ACCESS_FINE_LOCATION, subject.requestPermissionCallback, Constants.MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION); flickrPhotoList = new ArrayList<FlickrPhoto>( Arrays.asList(new FlickrPhoto("some-photo", "some-small-url", "some-big-url"))); subject.setFlickrPhotoList(flickrPhotoList); activityController.create().start(); }
@Test public void testOnCreate_setsUpProgressBar() { ANDROID.assertThat(subject).isNotNull(); ProgressBar progressBarSpinner = subject.getProgressBarSpinner(); ANDROID.assertThat(progressBarSpinner).isNotNull(); int visibility = progressBarSpinner.getVisibility(); Assertions.assertThat(visibility).isEqualTo(View.VISIBLE); }
@Test public void testPhotoListManagerDidFinish_withNoPhotos_ShowsToast() { List emptyFlickrPhotoList = new ArrayList<FlickrPhoto>(); subject.photoListManagerDidFinish(emptyFlickrPhotoList); Toast actualToast = ShadowToast.getLatestToast(); Assertions.assertThat(actualToast).isNotNull(); String actualToastText = ShadowToast.getTextOfLatestToast(); Assertions.assertThat(actualToastText).isEqualTo("Flickr api response malformed"); }
@Test public void testOnCreate_setsUpPhotoListView() { ANDROID.assertThat(subject.getPhotoRecyclerView()).isNotNull(); }
@Test public void testPhotoListManagerDidFinish_withPhotos_setsFlickrPhotoList() { subject.photoListManagerDidFinish(flickrPhotoList); List actualPhotoList = subject.getFlickrPhotoList(); Assertions.assertThat(flickrPhotoList).isEqualTo(actualPhotoList); }
@Test public void testPhotoListManagerDidFinish_withPhotos_DoesNotShowToast() { subject.photoListManagerDidFinish(flickrPhotoList); Toast actualToast = ShadowToast.getLatestToast(); Assertions.assertThat(actualToast).isNull(); }