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 2018/06/23 10:16:04 UTC
[1/2] incubator-taverna-mobile git commit: Added WorkflowPresenter
Test
Repository: incubator-taverna-mobile
Updated Branches:
refs/heads/master 5d8a40a5a -> 207362ed4
Added WorkflowPresenter 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/55b44a74
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/55b44a74
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/55b44a74
Branch: refs/heads/master
Commit: 55b44a7447e35fad9d8e95a3e2839a6a7e47d92f
Parents: 05ec299
Author: Hitesh Gautam <ga...@gmail.com>
Authored: Sun Jun 17 17:17:14 2018 +0530
Committer: Hitesh Gautam <ga...@gmail.com>
Committed: Thu Jun 21 20:46:48 2018 +0530
----------------------------------------------------------------------
.../mobile/ui/workflow/WorkflowPresenter.java | 18 ++-
app/src/main/res/values/strings.xml | 3 +
.../ui/workflow/WorkflowPresenterTest.java | 131 +++++++++++++++++++
3 files changed, 147 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/55b44a74/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenter.java
index 24d0827..eb2ca90 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenter.java
@@ -63,7 +63,7 @@ public class WorkflowPresenter extends BasePresenter<WorkflowMvpView> {
compositeDisposable.clear();
}
- public void loadAllWorkflow(int pageNumber) {
+ public void loadAllWorkflow(final int pageNumber) {
checkViewAttached();
getMvpView().showProgressbar(true);
compositeDisposable.add(mDataManager.getAllWorkflow(getQueryOptions(pageNumber))
@@ -72,9 +72,18 @@ public class WorkflowPresenter extends BasePresenter<WorkflowMvpView> {
.subscribeWith(new DisposableObserver<Workflows>() {
@Override
public void onNext(Workflows workflows) {
- getMvpView().showProgressbar(false);
- getMvpView().removeLoadMoreProgressbar();
- getMvpView().showWorkflows(workflows);
+ if (workflows.getWorkflowList() != null) {
+ getMvpView().showProgressbar(false);
+ getMvpView().removeLoadMoreProgressbar();
+ getMvpView().showWorkflows(workflows);
+ } else {
+ if (pageNumber == 1) {
+ getMvpView().showSnackBar(R.string.no_workflows_found);
+ } else {
+ getMvpView().showSnackBar(R.string.no_more_workflows_avialable);
+ }
+ getMvpView().removeLoadMoreProgressbar();
+ }
}
@Override
@@ -89,7 +98,6 @@ public class WorkflowPresenter extends BasePresenter<WorkflowMvpView> {
}
}));
-
}
public void attachSearchHandler(final SearchView searchView) {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/55b44a74/app/src/main/res/values/strings.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 01eb1a2..304a469 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -166,6 +166,8 @@ limitations under the License.
<string name="err_login_email">Enter valid email</string>
<string name="err_login_password">Enter valid password</string>
<string name="error_failed_to_fetch_workflow">Failed to fetch Workflow</string>
+ <string name="no_more_workflows_avialable">No more workflows avialable</string>
+ <string name="no_workflows_found">No Workflows Found</string>
<string name="no_my_workflow">You have not created any workflow yet !</string>
<string name="error_vaild_credential">Please enter valid credential</string>
@@ -197,6 +199,7 @@ limitations under the License.
<string name="pref_key_logged_in">pref_logged_in</string>
<string name="pref_remainLogged_in">Remain Logged-in</string>
<string name="pref_login_description">Decide whether or not to be automatically logged-in when the app starts</string>
+
<!-- Player Portal url info -->
<string name="pref_player_default"> http://heater.cs.man.ac.uk:3000/</string> <!-- default value -->
<string name="pref_player_title">Configure Taverna player portal</string>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/55b44a74/app/src/test/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenterTest.java
----------------------------------------------------------------------
diff --git a/app/src/test/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenterTest.java b/app/src/test/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenterTest.java
new file mode 100644
index 0000000..591b040
--- /dev/null
+++ b/app/src/test/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenterTest.java
@@ -0,0 +1,131 @@
+package org.apache.taverna.mobile.ui.workflow;
+
+import org.apache.taverna.mobile.FakeRemoteDataSource;
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.data.DataManager;
+import org.apache.taverna.mobile.data.model.Workflows;
+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 java.util.HashMap;
+import java.util.Map;
+
+import io.reactivex.Observable;
+
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+@RunWith(MockitoJUnitRunner.class)
+public class WorkflowPresenterTest {
+
+ @Rule
+ public final RxSchedulersOverrideRule rxSchedulersOverrideRule = new
+ RxSchedulersOverrideRule();
+
+ @Mock
+ DataManager dataManager;
+
+ @Mock
+ WorkflowMvpView workflowMvpView;
+
+ private Workflows workflows;
+ private WorkflowPresenter workflowPresenter;
+ private Map<String, String> optionPage1;
+ private Map<String, String> optionPage2;
+
+ @Before
+ public void setUp() {
+
+ workflowPresenter = new WorkflowPresenter(dataManager);
+ workflowPresenter.attachView(workflowMvpView);
+
+ workflows = FakeRemoteDataSource.getWorkflowList();
+
+ optionPage1 = new HashMap<>();
+ optionPage1.put("elements", "title,type,uploader,preview,created-at");
+ optionPage1.put("page", String.valueOf(1));
+ optionPage1.put("num", String.valueOf(10));
+ optionPage1.put("order", "reverse");
+
+ optionPage2 = new HashMap<>();
+ optionPage2.put("elements", "title,type,uploader,preview,created-at");
+ optionPage2.put("page", String.valueOf(2));
+ optionPage2.put("num", String.valueOf(10));
+ optionPage2.put("order", "reverse");
+ }
+
+ @After
+ public void tearDown() {
+
+ workflowPresenter.detachView();
+ }
+
+ @Test
+ public void loadAllWorkflow_validWorkflowList_ReturnsResults() {
+
+ when(dataManager.getAllWorkflow(optionPage1)).thenReturn(
+ Observable.just(workflows));
+
+ workflowPresenter.loadAllWorkflow(1);
+
+ verify(workflowMvpView).showProgressbar(true);
+ verify(workflowMvpView).removeLoadMoreProgressbar();
+ verify(workflowMvpView).showWorkflows(workflows);
+ verify(workflowMvpView, never()).showSnackBar(R.string.error_failed_to_fetch_workflow);
+ }
+
+ @Test
+ public void loadAllWorkflow_EmptyWorkflow_ReturnNoWorkflowResults() {
+
+ Workflows workflows = new Workflows();
+ when(dataManager.getAllWorkflow(optionPage1)).thenReturn(
+ Observable.just(workflows));
+
+ workflowPresenter.loadAllWorkflow(1);
+
+ verify(workflowMvpView).showProgressbar(true);
+ verify(workflowMvpView).removeLoadMoreProgressbar();
+ verify(workflowMvpView).showSnackBar(R.string.no_workflows_found);
+ verify(workflowMvpView, never()).showWorkflows(workflows);
+ verify(workflowMvpView, never()).showSnackBar(R.string.error_failed_to_fetch_workflow);
+ }
+
+ @Test
+ public void loadAllWorkflow_page2_EmptyWorkflow_ReturnNoMoreWorkflowResults() {
+
+ Workflows workflows = new Workflows();
+ when(dataManager.getAllWorkflow(optionPage2)).thenReturn(
+ Observable.just(workflows));
+
+ workflowPresenter.loadAllWorkflow(2);
+
+ verify(workflowMvpView).showProgressbar(true);
+ verify(workflowMvpView).removeLoadMoreProgressbar();
+ verify(workflowMvpView).showSnackBar(R.string.no_more_workflows_avialable);
+ verify(workflowMvpView, never()).showWorkflows(workflows);
+ verify(workflowMvpView, never()).showSnackBar(R.string.no_workflows_found);
+ verify(workflowMvpView, never()).showSnackBar(R.string.error_failed_to_fetch_workflow);
+ }
+
+ @Test
+ public void loadAllWorkflow_RuntimeError_showError() {
+
+ when(dataManager.getAllWorkflow(optionPage1)).thenReturn(
+ Observable.<Workflows>error(new RuntimeException()));
+
+ workflowPresenter.loadAllWorkflow(1);
+
+ verify(workflowMvpView).showProgressbar(false);
+ verify(workflowMvpView).removeLoadMoreProgressbar();
+ verify(workflowMvpView, never()).showWorkflows(workflows);
+ verify(workflowMvpView).showSnackBar(R.string.error_failed_to_fetch_workflow);
+ }
+
+}
\ No newline at end of file
[2/2] incubator-taverna-mobile git commit: This close #87
Posted by sa...@apache.org.
This close #87
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/207362ed
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/207362ed
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/207362ed
Branch: refs/heads/master
Commit: 207362ed4d44ba1a9c2c45f4bf361faf393645d0
Parents: 5d8a40a 55b44a7
Author: Sagar <ku...@gmail.com>
Authored: Fri Jun 22 17:19:32 2018 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Fri Jun 22 17:19:32 2018 +0530
----------------------------------------------------------------------
.../mobile/ui/workflow/WorkflowPresenter.java | 18 ++-
app/src/main/res/values/strings.xml | 3 +
.../ui/workflow/WorkflowPresenterTest.java | 131 +++++++++++++++++++
3 files changed, 147 insertions(+), 5 deletions(-)
----------------------------------------------------------------------