use of com.android.example.devsummit.archdemo.event.feed.FetchedFeedEvent in project dev-summit-architecture-demo by yigit.
the class FeedActivityTest method refreshFeedWithNewItems.
@Test
public void refreshFeedWithNewItems() throws Throwable {
FeedModel mockFeedModel = mock(FeedModel.class);
when(mComponent.feedModel()).thenReturn(mockFeedModel);
FeedItem feedItem1 = TestUtil.createDummyFeedItem();
FeedItem feedItem2 = TestUtil.createDummyFeedItem();
List<FeedItem> items = Collections.singletonList(feedItem1);
List<FeedItem> items2 = Arrays.asList(feedItem1, feedItem2);
Post post1 = feedItem1.getPost();
final Post post2 = feedItem2.getPost();
post1.setCreated(1L);
post2.setCreated(2L);
//noinspection unchecked
when(mockFeedModel.loadFeed(0L, null)).thenReturn(items);
when(mockFeedModel.loadFeed(post1.getCreated(), null)).thenReturn(items2);
getActivity();
onView(atAdapterPosition(getActivity().mBinding.list, 0)).check(matches(withChild(withText(post1.getText())))).check(matches(withChild(withText(feedItem1.getUser().getName()))));
runTestOnUiThread(new Runnable() {
@Override
public void run() {
getActivity().onEventMainThread(new FetchedFeedEvent(true, null, post2));
}
});
onItemAt(0).check(matches(withChild(withText(post2.getText())))).check(matches(withChild(withText(feedItem2.getUser().getName()))));
onItemAt(1).check(matches(withChild(withText(post1.getText())))).check(matches(withChild(withText(feedItem1.getUser().getName()))));
}
Aggregations