Skip to content

Commit 4676b6f

Browse files
committed
chore: refactor Android tests
1 parent d3df755 commit 4676b6f

File tree

7 files changed

+424
-81
lines changed

7 files changed

+424
-81
lines changed

android/src/main/java/com/adyenreactnativesdk/configuration/ThreeDSConfigurationParser.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ class ThreeDSConfigurationParser(config: ReadableMap) {
1818
} else this.config = config
1919
}
2020

21-
private val requestorAppUrl: String?
21+
internal val requestorAppUrl: String?
2222
get() = if (config.hasKey(REQUESTOR_APP_URL_KEY)) {
2323
config.getString(REQUESTOR_APP_URL_KEY)
2424
} else null
2525

2626
fun applyConfiguration(builder: Adyen3DS2Configuration.Builder) {
2727
requestorAppUrl?.let { builder.setThreeDSRequestorAppURL(it) }
2828
}
29-
}
29+
}
Lines changed: 57 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,96 @@
1+
/*
2+
* Copyright (c) 2023 Adyen N.V.
3+
*
4+
* This file is open source and available under the MIT license. See the LICENSE file for more info.
5+
*/
6+
17
package com.adyenreactnativesdk.configuration
28

39
import com.adyen.checkout.components.core.AnalyticsLevel
4-
import org.junit.Assert
10+
import org.junit.Assert.assertEquals
11+
import org.junit.Assert.assertFalse
12+
import org.junit.Assert.assertTrue
513
import org.junit.Test
614

715
class AnalyticsParserTest {
816

917
@Test
10-
fun testConfigurationOnSubDictionary() {
18+
fun test_initialization_usesDefaultValues_withEmptyConfiguration() {
19+
// GIVEN
20+
val config = WritableMapMock()
21+
22+
// WHEN
23+
val sut = AnalyticsParser(config)
24+
25+
// THEN
26+
assertEquals(AnalyticsLevel.ALL, sut.analytics.level)
27+
assertFalse(sut.verboseLogs)
28+
}
29+
30+
@Test
31+
fun test_initialization_usesDefaultValues_withEmptySubDictionary() {
1132
// GIVEN
1233
val config = WritableMapMock()
1334
val analyticsConfig = WritableMapMock()
1435
config.putMap(AnalyticsParser.ROOT_KEY, analyticsConfig)
1536

1637
// WHEN
17-
val analyticsParser = AnalyticsParser(config)
38+
val sut = AnalyticsParser(config)
1839

1940
// THEN
20-
Assert.assertSame(analyticsParser.analytics.level, AnalyticsLevel.ALL)
21-
Assert.assertFalse(analyticsParser.verboseLogs)
41+
assertEquals(AnalyticsLevel.ALL, sut.analytics.level)
42+
assertFalse(sut.verboseLogs)
2243
}
2344

2445
@Test
25-
fun testIsEnabled() {
46+
fun test_analytics_returnsAllLevel_whenEnabledIsTrue() {
2647
// GIVEN
2748
val config = WritableMapMock()
2849
config.putBoolean(AnalyticsParser.ENABLED_KEY, true)
29-
config.putBoolean(AnalyticsParser.VERBOSE_LOGS_KEY, false)
3050

51+
// WHEN
52+
val sut = AnalyticsParser(config)
53+
54+
// THEN
55+
assertEquals(AnalyticsLevel.ALL, sut.analytics.level)
56+
}
57+
58+
@Test
59+
fun test_analytics_returnsNoneLevel_whenEnabledIsFalse() {
60+
// GIVEN
61+
val config = WritableMapMock()
62+
config.putBoolean(AnalyticsParser.ENABLED_KEY, false)
3163

3264
// WHEN
33-
val analyticsParser = AnalyticsParser(config)
65+
val sut = AnalyticsParser(config)
3466

3567
// THEN
36-
Assert.assertSame(analyticsParser.analytics.level, AnalyticsLevel.ALL)
37-
Assert.assertFalse(analyticsParser.verboseLogs)
68+
assertEquals(AnalyticsLevel.NONE, sut.analytics.level)
3869
}
3970

4071
@Test
41-
fun testIsNotEnabled() {
72+
fun test_verboseLogs_returnsTrue_whenExplicitlySetToTrue() {
4273
// GIVEN
4374
val config = WritableMapMock()
44-
config.putBoolean(AnalyticsParser.ENABLED_KEY, false)
4575
config.putBoolean(AnalyticsParser.VERBOSE_LOGS_KEY, true)
4676

4777
// WHEN
48-
val analyticsParser = AnalyticsParser(config)
78+
val sut = AnalyticsParser(config)
79+
80+
// THEN
81+
assertTrue(sut.verboseLogs)
82+
}
83+
84+
@Test
85+
fun test_verboseLogs_returnsFalse_whenExplicitlySetToFalse() {
86+
// GIVEN
87+
val config = WritableMapMock()
88+
config.putBoolean(AnalyticsParser.VERBOSE_LOGS_KEY, false)
89+
90+
// WHEN
91+
val sut = AnalyticsParser(config)
4992

5093
// THEN
51-
Assert.assertSame(analyticsParser.analytics.level, AnalyticsLevel.NONE)
52-
Assert.assertTrue(analyticsParser.verboseLogs)
94+
assertFalse(sut.verboseLogs)
5395
}
5496
}

android/src/test/java/com/adyenreactnativesdk/configuration/DropInConfigurationParserTest.kt

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
/*
2+
* Copyright (c) 2023 Adyen N.V.
3+
*
4+
* This file is open source and available under the MIT license. See the LICENSE file for more info.
5+
*/
6+
17
package com.adyenreactnativesdk.configuration
28

39
import com.adyen.checkout.dropin.DropInConfiguration
@@ -10,7 +16,7 @@ import org.mockito.kotlin.any
1016
class DropInConfigurationParserTest {
1117

1218
@Test
13-
fun testConfigurationOnSubDictionary() {
19+
fun test_applyConfiguration_doesNotModifyBuilder_whenGivenEmptySubDictionary() {
1420
// GIVEN
1521
val mockBuilder = mock(DropInConfiguration.Builder::class.java)
1622
val config = WritableMapMock()
@@ -24,24 +30,51 @@ class DropInConfigurationParserTest {
2430
// THEN
2531
verify(mockBuilder, times(0)).setSkipListWhenSinglePaymentMethod(any())
2632
verify(mockBuilder, times(0)).setShowPreselectedStoredPaymentMethod(any())
33+
verify(mockBuilder, times(0)).setEnableRemovingStoredPaymentMethods(any())
2734
}
2835

2936
@Test
30-
fun applyConfiguration() {
37+
fun test_skipListWhenSinglePaymentMethod_appliesCorrectValue_whenExplicitlySetToFalse() {
3138
// GIVEN
3239
val mockBuilder = mock(DropInConfiguration.Builder::class.java)
3340
val config = WritableMapMock()
3441
config.putBoolean("skipListWhenSinglePaymentMethod", false)
35-
config.putBoolean("showPreselectedStoredPaymentMethod", false)
36-
config.putBoolean("showRemovePaymentMethodButton", true)
37-
42+
3843
// WHEN
3944
val sut = DropInConfigurationParser(config)
4045
sut.applyConfiguration(mockBuilder)
41-
46+
4247
// THEN
4348
verify(mockBuilder, times(1)).setSkipListWhenSinglePaymentMethod(false)
49+
}
50+
51+
@Test
52+
fun test_showPreselectedStoredPaymentMethod_appliesCorrectValue_whenExplicitlySetToFalse() {
53+
// GIVEN
54+
val mockBuilder = mock(DropInConfiguration.Builder::class.java)
55+
val config = WritableMapMock()
56+
config.putBoolean("showPreselectedStoredPaymentMethod", false)
57+
58+
// WHEN
59+
val sut = DropInConfigurationParser(config)
60+
sut.applyConfiguration(mockBuilder)
61+
62+
// THEN
4463
verify(mockBuilder, times(1)).setShowPreselectedStoredPaymentMethod(false)
64+
}
65+
66+
@Test
67+
fun test_showRemovePaymentMethodButton_appliesCorrectValue_whenExplicitlySetToTrue() {
68+
// GIVEN
69+
val mockBuilder = mock(DropInConfiguration.Builder::class.java)
70+
val config = WritableMapMock()
71+
config.putBoolean("showRemovePaymentMethodButton", true)
72+
73+
// WHEN
74+
val sut = DropInConfigurationParser(config)
75+
sut.applyConfiguration(mockBuilder)
76+
77+
// THEN
4578
verify(mockBuilder, times(1)).setEnableRemovingStoredPaymentMethods(true)
4679
}
4780
}

0 commit comments

Comments
 (0)