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>2021-05-20 11:08:52 +0300
committerStefan Niedermann <info@niedermann.it>2021-05-20 11:08:52 +0300
commitdf7f38f22b42524f3e86f50de7c3e0839e96edcf (patch)
treefc6df9dd10d872307c82a5426c817e723ac33f0b /app/src/test/java/it/niedermann/nextcloud
parent8d2a33c3772a0b19f56698e69db1d2dc1bb88d47 (diff)
Add unit test for ResponseCallback
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/test/java/it/niedermann/nextcloud')
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/api/ResponseCallbackTest.java70
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManagerTest.java (renamed from app/src/test/java/it/niedermann/nextcloud/deck/SyncManagerTest.java)4
2 files changed, 72 insertions, 2 deletions
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/api/ResponseCallbackTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/api/ResponseCallbackTest.java
new file mode 100644
index 000000000..519129c62
--- /dev/null
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/api/ResponseCallbackTest.java
@@ -0,0 +1,70 @@
+package it.niedermann.nextcloud.deck.api;
+
+import android.os.Build;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+import java.util.Arrays;
+import java.util.List;
+
+import it.niedermann.nextcloud.deck.model.Account;
+import it.niedermann.nextcloud.deck.model.Board;
+import it.niedermann.nextcloud.deck.model.Card;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(sdk = {Build.VERSION_CODES.P})
+public class ResponseCallbackTest {
+
+ @Test
+ public void testFillAccountIDs() {
+ final Account account = new Account(1337L);
+ ResponseCallback<Object> callback = new ResponseCallback<Object>(account) {
+ @Override
+ public void onResponse(Object response) {
+ fail("I didn't ask you!");
+ }
+ };
+
+ // Must do nothing
+ callback.fillAccountIDs(null);
+
+ final Card card = new Card();
+ assertNotEquals(1337, card.getAccountId());
+ callback.fillAccountIDs(card);
+ assertEquals(1337, card.getAccountId());
+
+ final List<Board> boards = Arrays.asList(new Board(), new Board(), new Board());
+ assertFalse(boards.stream().anyMatch(b -> b.getAccountId() == 1337));
+ callback.fillAccountIDs(boards);
+ assertTrue(boards.stream().allMatch(b -> b.getAccountId() == 1337));
+ }
+
+ @Test
+ public void testFrom() {
+ final IResponseCallback<Void> originalCallback = response -> {
+ // Do nothing...
+ };
+ final IResponseCallback<Void> originalCallbackSpy = spy(originalCallback);
+ final ResponseCallback<Void> callback = ResponseCallback.from(mock(Account.class), originalCallbackSpy);
+
+ callback.onResponse(null);
+ verify(originalCallbackSpy, times(1)).onResponse(null);
+
+ callback.onError(null);
+ verify(originalCallbackSpy, times(1)).onError(null);
+ }
+
+}
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/SyncManagerTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManagerTest.java
index c2570f3a5..fb02cde01 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/SyncManagerTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManagerTest.java
@@ -1,4 +1,4 @@
-package it.niedermann.nextcloud.deck;
+package it.niedermann.nextcloud.deck.persistence.sync;
import android.accounts.NetworkErrorException;
import android.content.Context;
@@ -31,6 +31,7 @@ import java.util.Map;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
+import it.niedermann.nextcloud.deck.TestUtil;
import it.niedermann.nextcloud.deck.api.IResponseCallback;
import it.niedermann.nextcloud.deck.api.LastSyncUtil;
import it.niedermann.nextcloud.deck.api.ResponseCallback;
@@ -44,7 +45,6 @@ import it.niedermann.nextcloud.deck.model.full.FullStack;
import it.niedermann.nextcloud.deck.model.interfaces.IRemoteEntity;
import it.niedermann.nextcloud.deck.model.ocs.Capabilities;
import it.niedermann.nextcloud.deck.model.ocs.Version;
-import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
import it.niedermann.nextcloud.deck.persistence.sync.adapters.ServerAdapter;
import it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DataBaseAdapter;
import it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.WrappedLiveData;