From 1c8aa0fd4c71edb69b143cc2a46f2a3a31b12feb Mon Sep 17 00:00:00 2001 From: Sai Date: Thu, 16 Jan 2025 17:23:24 -0800 Subject: [PATCH 1/4] ignore case when checking equality --- .../com/braintreepayments/api/paypal/PayPalPaymentIntent.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PayPal/src/main/java/com/braintreepayments/api/paypal/PayPalPaymentIntent.kt b/PayPal/src/main/java/com/braintreepayments/api/paypal/PayPalPaymentIntent.kt index d31807afac..dc2f937819 100644 --- a/PayPal/src/main/java/com/braintreepayments/api/paypal/PayPalPaymentIntent.kt +++ b/PayPal/src/main/java/com/braintreepayments/api/paypal/PayPalPaymentIntent.kt @@ -26,7 +26,7 @@ enum class PayPalPaymentIntent(internal val stringValue: String) { @JvmStatic @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) fun fromString(string: String?): PayPalPaymentIntent? { - return PayPalPaymentIntent.values().firstOrNull { it.stringValue == string } + return entries.firstOrNull { it.stringValue.equals(string, ignoreCase = true) } } } } From b903b454e758046c4c2da72ec8e9d1c08d946477 Mon Sep 17 00:00:00 2001 From: Sai Date: Tue, 21 Jan 2025 12:01:09 -0800 Subject: [PATCH 2/4] Add test, update CHANGELOG.md --- CHANGELOG.md | 1 + .../api/paypal/PayPalPaymentIntentTest.kt | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 PayPal/src/test/java/com/braintreepayments/api/paypal/PayPalPaymentIntentTest.kt diff --git a/CHANGELOG.md b/CHANGELOG.md index 2dd56e16c3..c9d716a095 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ * PayPal * Fix bug to ensure that `PayPalVaultRequest.userAuthenticationEmail` is not sent as an empty string + * Fix bug where `intent=order` was not working * ThreeDSecure * Return error if no `dfReferenceId` is returned in the 3D Secure flow diff --git a/PayPal/src/test/java/com/braintreepayments/api/paypal/PayPalPaymentIntentTest.kt b/PayPal/src/test/java/com/braintreepayments/api/paypal/PayPalPaymentIntentTest.kt new file mode 100644 index 0000000000..ff0267bd4c --- /dev/null +++ b/PayPal/src/test/java/com/braintreepayments/api/paypal/PayPalPaymentIntentTest.kt @@ -0,0 +1,20 @@ +package com.braintreepayments.api.paypal + +import org.junit.Assert.assertEquals +import org.junit.Assert.assertNotEquals +import org.junit.Test + +class PayPalPaymentIntentTest { + + @Test + fun `Test PayPalPaymentIntent fromString -- accepts case insensitive strings`() { + assertEquals(PayPalPaymentIntent.ORDER, PayPalPaymentIntent.fromString("order")) + assertEquals(PayPalPaymentIntent.ORDER, PayPalPaymentIntent.fromString("Order")) + assertEquals(PayPalPaymentIntent.ORDER, PayPalPaymentIntent.fromString("ORDER")) + } + + @Test + fun `Test PayPalPaymentIntent fromString - random string fails equality`() { + assertNotEquals(PayPalPaymentIntent.ORDER, PayPalPaymentIntent.fromString("random")) + } +} From fb2f98344df57e2faa81ee77931cafffaa4dea6b Mon Sep 17 00:00:00 2001 From: Sai Date: Tue, 21 Jan 2025 12:12:55 -0800 Subject: [PATCH 3/4] Update CHANGELOG.md --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e26538d0b3..1db94e3904 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,13 @@ # Braintree Android SDK Release Notes +## unreleased +* PayPal + * Fix bug where `intent=order` was not working + ## 5.4.0 (2025-01-21) * PayPal * Fix bug to ensure that `PayPalVaultRequest.userAuthenticationEmail` is not sent as an empty string - * Fix bug where `intent=order` was not working * Add `shippingCallbackUrl` to `PayPalCheckoutRequest` * ThreeDSecure * Return error if no `dfReferenceId` is returned in the 3D Secure flow From f5ee7b948a17052cd70f20e6dbbdc9a003721d8e Mon Sep 17 00:00:00 2001 From: saperi22 <104481964+saperi22@users.noreply.github.com> Date: Tue, 21 Jan 2025 13:57:49 -0800 Subject: [PATCH 4/4] Update CHANGELOG.md Co-authored-by: Jax DesMarais-Leder --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1db94e3904..9fac10f735 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## unreleased * PayPal - * Fix bug where `intent=order` was not working + * Fix bug where `intent=order` was not being set as expected ## 5.4.0 (2025-01-21)