diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayExt.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayExt.kt index cfbf0b2098..aa32a7572c 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayExt.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/utils/NaviPayExt.kt @@ -138,6 +138,7 @@ fun getMaskedAccountNumberWithHyphen(maskedAccountNumber: String): String { } fun String.formattedCurrency(): String { + if (this.isBlank()) return EMPTY val parts = this.split(DECIMAL) val beforeDecimal = parts.getOrNull(0)?.let { it.ifBlank { ZERO_STRING } } ?: ZERO_STRING val afterDecimal = parts.getOrNull(1) ?: EMPTY diff --git a/android/navi-pay/src/test/java/com/navi/pay/AmountUtilityUnitTest.kt b/android/navi-pay/src/test/java/com/navi/pay/AmountUtilityUnitTest.kt index ec387e8888..514ba7339e 100644 --- a/android/navi-pay/src/test/java/com/navi/pay/AmountUtilityUnitTest.kt +++ b/android/navi-pay/src/test/java/com/navi/pay/AmountUtilityUnitTest.kt @@ -7,6 +7,7 @@ package com.navi.pay +import com.navi.pay.utils.formattedCurrency import com.navi.pay.utils.getDisplayableAmount import org.junit.Assert.assertEquals import org.junit.Test @@ -14,13 +15,18 @@ import org.junit.Test /** Unit tests to test amount and currency related utility functions. */ class AmountUtilityUnitTest { @Test - fun formatAmount_isFormattedCorrect() { + fun isCorrectDisplayableAmount() { assertEquals("1", "1".getDisplayableAmount()) assertEquals("1", "1.00".getDisplayableAmount()) assertEquals("50", "50".getDisplayableAmount()) assertEquals("200", "200.00".getDisplayableAmount()) assertEquals("1,000", "1000".getDisplayableAmount()) assertEquals("1,000", "1000.00".getDisplayableAmount()) + assertEquals("-1,000.23", "-1000.23".getDisplayableAmount()) + assertEquals("-16,000.90", "-16000.9".getDisplayableAmount()) + assertEquals("-1", "-1".getDisplayableAmount()) + assertEquals("-1,12,100.99", "-112100.99".getDisplayableAmount()) + assertEquals("-10.90", "-10.90".getDisplayableAmount()) assertEquals("55,973", "55973.00".getDisplayableAmount()) assertEquals("16,345.56", "16345.56".getDisplayableAmount()) assertEquals("1,23,45,678.12", "12345678.1234".getDisplayableAmount()) @@ -29,4 +35,19 @@ class AmountUtilityUnitTest { assertEquals("12,34,56,789.30", "123456789.3012".getDisplayableAmount()) assertEquals("0", "Hello".getDisplayableAmount()) } + + @Test + fun isCorrectFormattedCurrency() { + assertEquals("", "".formattedCurrency()) + assertEquals("1", "1".formattedCurrency()) + assertEquals("50", "50".formattedCurrency()) + assertEquals("-50", "-50".formattedCurrency()) + assertEquals("-5,000", "-5000".formattedCurrency()) + assertEquals("-50,00,000", "-5000000".formattedCurrency()) + assertEquals("200", "200".formattedCurrency()) + assertEquals("1,000", "1000".formattedCurrency()) + assertEquals("55,973", "55973".formattedCurrency()) + assertEquals("1,23,45,678", "12345678".formattedCurrency()) + assertEquals("12,34,56,789", "123456789".formattedCurrency()) + } }