You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by sa...@apache.org on 2017/04/24 18:16:18 UTC
[5/9] incubator-taverna-mobile git commit: add AnnouncementPresenter
Junit Test
add AnnouncementPresenter Junit Test
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/commit/aecc493d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/aecc493d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/aecc493d
Branch: refs/heads/master
Commit: aecc493d0deac168d8e3892791bde37f5d50e1df
Parents: ba4e500
Author: Sagar <ku...@gmail.com>
Authored: Sun Dec 4 13:53:53 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Sun Dec 4 13:53:53 2016 +0530
----------------------------------------------------------------------
.../mobile/AnnouncementPresenterTest.java | 126 +++++++++++++++++++
1 file changed, 126 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/aecc493d/app/src/test/java/org/apache/taverna/mobile/AnnouncementPresenterTest.java
----------------------------------------------------------------------
diff --git a/app/src/test/java/org/apache/taverna/mobile/AnnouncementPresenterTest.java b/app/src/test/java/org/apache/taverna/mobile/AnnouncementPresenterTest.java
new file mode 100644
index 0000000..8ca431e
--- /dev/null
+++ b/app/src/test/java/org/apache/taverna/mobile/AnnouncementPresenterTest.java
@@ -0,0 +1,126 @@
+package org.apache.taverna.mobile;
+
+
+import org.apache.taverna.mobile.data.DataManager;
+import org.apache.taverna.mobile.data.model.Announcements;
+import org.apache.taverna.mobile.data.model.DetailAnnouncement;
+import org.apache.taverna.mobile.ui.anouncements.AnnouncementMvpView;
+import org.apache.taverna.mobile.ui.anouncements.AnnouncementPresenter;
+import org.apache.taverna.mobile.utils.RxSchedulersOverrideRule;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import rx.Observable;
+
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+@RunWith(MockitoJUnitRunner.class)
+public class AnnouncementPresenterTest {
+
+ @Rule
+ public final RxSchedulersOverrideRule rxSchedulersOverrideRule = new
+ RxSchedulersOverrideRule();
+ @Mock
+ DataManager dataManager;
+
+ @Mock
+ AnnouncementMvpView announcementMvpView;
+ Announcements announcements;
+ DetailAnnouncement announcement;
+ private AnnouncementPresenter announcementPresenter;
+
+ @Before
+ public void setUp() {
+
+ announcementPresenter = new AnnouncementPresenter(dataManager);
+ announcementPresenter.attachView(announcementMvpView);
+
+ announcements = FakeRemoteDataSource.getAnnouncements();
+ announcement = FakeRemoteDataSource.getAnnouncement();
+
+ }
+
+ @After
+ public void tearDown() {
+ announcementPresenter.detachView();
+ }
+
+ @Test
+ public void loadAllAnnouncement_validAnnouncementsData_ReturnsResults() {
+
+ when(dataManager.getAllAnnouncement(1)).thenReturn
+ (Observable.just(announcements));
+
+ announcementPresenter.loadAllAnnouncement(1);
+
+ verify(announcementMvpView, never()).showSnackBar(R.string.no_more_announcement_available);
+ verify(announcementMvpView, never()).removeLoadMoreProgressBar();
+ verify(announcementMvpView).showAllAnnouncement(announcements);
+ verify(announcementMvpView, never()).showSnackBar(R.string.failed_to_fetch_announcement);
+ }
+
+ @Test
+ public void loadAllAnnouncement_NULLAnnouncementsData_RemoveLoadMore() {
+
+ Announcements announcements = new Announcements();
+ when(dataManager.getAllAnnouncement(1)).thenReturn
+ (Observable.just(announcements));
+
+ announcementPresenter.loadAllAnnouncement(1);
+
+ verify(announcementMvpView).showSnackBar(R.string.no_more_announcement_available);
+ verify(announcementMvpView).removeLoadMoreProgressBar();
+ verify(announcementMvpView, never()).showAllAnnouncement(announcements);
+ verify(announcementMvpView, never()).showSnackBar(R.string.failed_to_fetch_announcement);
+ }
+
+ @Test
+ public void loadAllAnnouncement_RuntimeError_ShowError() {
+
+
+ when(dataManager.getAllAnnouncement(1)).thenReturn(Observable.<Announcements>error(new
+ RuntimeException()));
+
+ announcementPresenter.loadAllAnnouncement(1);
+
+ verify(announcementMvpView, never()).showSnackBar(R.string.no_more_announcement_available);
+ verify(announcementMvpView, never()).removeLoadMoreProgressBar();
+ verify(announcementMvpView, never()).showAllAnnouncement(announcements);
+ verify(announcementMvpView).showSnackBar(R.string.failed_to_fetch_announcement);
+ }
+
+ @Test
+ public void loadAnnouncementDetails_validAnnouncementData_ReturnsResults() {
+
+ when(dataManager.getAnnouncementDetail("1")).thenReturn(Observable.just(announcement));
+
+ announcementPresenter.loadAnnouncementDetails("1");
+
+ verify(announcementMvpView).showAnnouncementDetail(announcement);
+ verify(announcementMvpView, never()).showSnackBar(R.string.failed_to_fetch_announcement);
+
+ }
+
+ @Test
+ public void loadAnnouncementDetails_RuntimeError_ShowError() {
+
+ DetailAnnouncement detailAnnouncement = new DetailAnnouncement();
+
+ when(dataManager.getAnnouncementDetail("1")).thenReturn(Observable
+ .<DetailAnnouncement>error(new RuntimeException()));
+
+ announcementPresenter.loadAnnouncementDetails("1");
+
+ verify(announcementMvpView, never()).showAnnouncementDetail(detailAnnouncement);
+ verify(announcementMvpView).showSnackBar(R.string.failed_to_fetch_announcement);
+
+ }
+}
+