aboutsummaryrefslogtreecommitdiff
path: root/wallet/src/test
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-08-11 15:24:25 -0300
committerTorsten Grote <t@grobox.de>2020-08-11 16:08:56 -0300
commitd13be7c5c1be2492d38959a29e1b1c33df4938ff (patch)
tree3e4ae91e98c0388289779b3f8d972df196aa6a49 /wallet/src/test
parentf0670e2f3936f0223c02e9ec0d0de52f31a3539f (diff)
downloadtaler-android-d13be7c5c1be2492d38959a29e1b1c33df4938ff.tar.gz
taler-android-d13be7c5c1be2492d38959a29e1b1c33df4938ff.tar.bz2
taler-android-d13be7c5c1be2492d38959a29e1b1c33df4938ff.zip
[wallet] start to move deserialization into the backend API
and off the UI thread for less sluggish, i.e. more responsive UI
Diffstat (limited to 'wallet/src/test')
-rw-r--r--wallet/src/test/java/net/taler/wallet/backend/WalletResponseTest.kt56
1 files changed, 56 insertions, 0 deletions
diff --git a/wallet/src/test/java/net/taler/wallet/backend/WalletResponseTest.kt b/wallet/src/test/java/net/taler/wallet/backend/WalletResponseTest.kt
new file mode 100644
index 0000000..b7d7c68
--- /dev/null
+++ b/wallet/src/test/java/net/taler/wallet/backend/WalletResponseTest.kt
@@ -0,0 +1,56 @@
+/*
+ * This file is part of GNU Taler
+ * (C) 2020 Taler Systems S.A.
+ *
+ * GNU Taler is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU General Public License as published by the Free Software
+ * Foundation; either version 3, or (at your option) any later version.
+ *
+ * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+ */
+
+package net.taler.wallet.backend
+
+import junit.framework.Assert.assertEquals
+import kotlinx.serialization.UnstableDefault
+import kotlinx.serialization.json.Json
+import kotlinx.serialization.json.JsonConfiguration
+import net.taler.wallet.balances.BalanceResponse
+import org.junit.Test
+
+@UnstableDefault
+class WalletResponseTest {
+
+ private val json = Json(JsonConfiguration(ignoreUnknownKeys = true))
+
+ @Test
+ fun testBalanceResponse() {
+ val serializer = WalletResponse.Success.serializer(BalanceResponse.serializer())
+ val response = json.parse(
+ serializer, """
+ {
+ "type": "response",
+ "operation": "getBalances",
+ "id": 2,
+ "result": {
+ "balances": [
+ {
+ "available": "TESTKUDOS:15.8",
+ "pendingIncoming": "TESTKUDOS:0",
+ "pendingOutgoing": "TESTKUDOS:0",
+ "hasPendingTransactions": false,
+ "requiresUserInput": false
+ }
+ ]
+ }
+ }
+ """.trimIndent()
+ )
+ assertEquals(1, response.result.balances.size)
+ }
+}