diff options
author | Sebastian <sebasjm@gmail.com> | 2022-07-01 18:05:51 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-07-01 18:06:32 -0300 |
commit | c3c43726de9858f42fee9d4051ab3d3245b47099 (patch) | |
tree | 148c263dccacd278f063552fa8ffd4a990c84fad /wallet/src/test/java/net/taler | |
parent | e05bfb78c4dafee6980f5b86196bca4ff302208c (diff) | |
download | taler-android-c3c43726de9858f42fee9d4051ab3d3245b47099.tar.gz taler-android-c3c43726de9858f42fee9d4051ab3d3245b47099.tar.bz2 taler-android-c3c43726de9858f42fee9d4051ab3d3245b47099.zip |
accept tips
Diffstat (limited to 'wallet/src/test/java/net/taler')
-rw-r--r-- | wallet/src/test/java/net/taler/wallet/tip/TipResponsesTest.kt | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/wallet/src/test/java/net/taler/wallet/tip/TipResponsesTest.kt b/wallet/src/test/java/net/taler/wallet/tip/TipResponsesTest.kt new file mode 100644 index 0000000..9267f11 --- /dev/null +++ b/wallet/src/test/java/net/taler/wallet/tip/TipResponsesTest.kt @@ -0,0 +1,93 @@ +/* + * 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.payment + +import kotlinx.serialization.json.Json +import net.taler.common.Amount +import net.taler.wallet.tip.ConfirmTipResult +import net.taler.wallet.tip.PrepareTipResponse +import org.junit.Test + +class TipResponsesTest { + + private val json = Json { + ignoreUnknownKeys = true + } + + @Test + fun testConfirmTipResult() { + val jsonStr = """ + { + "type": "response", + "operation": "acceptTip", + "id": 47, + "result": {} + } + """.trimIndent() + val response = json.decodeFromString(ConfirmTipResult.serializer(), jsonStr) + response as ConfirmTipResult + assert(response != null) + } + +/* + +*/ + + + @Test + fun testTipPossibleSerializer() { + val jsonStr = """ + { + "accepted": false, + "tipAmountRaw": "ARS:2", + "exchangeBaseUrl": "http://exchange.taler:8081/", + "merchantBaseUrl": "http://merchant-backend.taler:9966/", + "expirationTimestamp": { + "t_s": 1688217455 + }, + "tipAmountEffective": "ARS:1.4", + "walletTipId": "SZH86ATJC4NZ427JHFVQ9M3S1TCQKVWSSZGSBW8MQ8VTVWD4M4GG" + } + """.trimIndent() + val response = json.decodeFromString(PrepareTipResponse.serializer(), jsonStr) + response as PrepareTipResponse.TipPossibleResponse + assert(response.walletTipId == "SZH86ATJC4NZ427JHFVQ9M3S1TCQKVWSSZGSBW8MQ8VTVWD4M4GG") + assert(response.tipAmountEffective == Amount(currency = "ARS", fraction = 40000000, value = 1)) + } + + + @Test + fun testTipAcceptedSerializer() { + val jsonStr = """ + { + "accepted": true, + "tipAmountRaw": "ARS:2", + "exchangeBaseUrl": "http://exchange.taler:8081/", + "merchantBaseUrl": "http://merchant-backend.taler:9966/", + "expirationTimestamp": { + "t_s": 1688217455 + }, + "tipAmountEffective": "ARS:1.4", + "walletTipId": "SZH86ATJC4NZ427JHFVQ9M3S1TCQKVWSSZGSBW8MQ8VTVWD4M4GG" + } + """.trimIndent() + val response = json.decodeFromString(PrepareTipResponse.serializer(), jsonStr) + assert(response is PrepareTipResponse.AlreadyAcceptedResponse) + assert((response as PrepareTipResponse.AlreadyAcceptedResponse).walletTipId == "SZH86ATJC4NZ427JHFVQ9M3S1TCQKVWSSZGSBW8MQ8VTVWD4M4GG") + } + +} |