Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-12-27 21:40:25 +0300
committerStefan Niedermann <info@niedermann.it>2020-12-27 21:40:25 +0300
commit3f0f1f0b951bf488bc56acb41e6af7c2ddb699f6 (patch)
tree5f7a4ab40f64818f3fec818158a0778de1b04e43
parentfcc0b5bff1754b2f87f9707cedf93c3c3e1bb0dc (diff)
Mock doAsync() method
Signed-off-by: Stefan Niedermann <info@niedermann.it>
-rw-r--r--README.md2
-rw-r--r--app/build.gradle5
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/SyncManagerTest.java18
3 files changed, 21 insertions, 4 deletions
diff --git a/README.md b/README.md
index c1a58602c..027ba11d9 100644
--- a/README.md
+++ b/README.md
@@ -41,7 +41,7 @@ An Android client for [Nextcloud Deck App](https://github.com/nextcloud/deck/).
* Dark mode 🌙
* Translated in many languages 🌎
-## 🏁 Planned features
+## 🏁 Planned feates
* [Upcoming cards widget](https://github.com/stefan-niedermann/nextcloud-deck/issues/597)
* Enhanced support for projects
* Further stabilization of the UI and bugfixes
diff --git a/app/build.gradle b/app/build.gradle
index bdee1c0ef..54a3a1b61 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -128,7 +128,10 @@ dependencies {
// Tests
testImplementation 'junit:junit:4.13.1'
- testImplementation 'org.mockito:mockito-core:2.19.0'
+ testImplementation 'org.mockito:mockito-core:3.3.3'
+ testImplementation "org.powermock:powermock-core:2.0.0"
+ testImplementation "org.powermock:powermock-module-junit4:2.0.0"
+ testImplementation "org.powermock:powermock-api-mockito2:2.0.0"
testImplementation "androidx.arch.core:core-testing:2.1.0"
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/SyncManagerTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/SyncManagerTest.java
index c0ac2a96b..975053989 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/SyncManagerTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/SyncManagerTest.java
@@ -6,12 +6,15 @@ import androidx.arch.core.executor.testing.InstantTaskExecutorRule;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
+import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
@@ -25,7 +28,8 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-@RunWith(MockitoJUnitRunner.class)
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({SyncManager.class})
public class SyncManagerTest {
@Rule
@@ -41,6 +45,16 @@ public class SyncManagerTest {
@InjectMocks
private SyncManager syncManager;
+ @Before
+ public void prepareDoAsync() {
+ PowerMockito
+ .replace(PowerMockito.method(SyncManager.class, "doAsync", Runnable.class))
+ .with((obj, method, arguments) -> {
+ ((Runnable) arguments[0]).run();
+ return null;
+ });
+ }
+
@Test
public void testHasAccounts() throws InterruptedException {
when(dataBaseAdapter.hasAccounts()).thenReturn(new MutableLiveData<>(true));