Skip to content

Commit d3fc470

Browse files
constructors
1 parent 7794196 commit d3fc470

File tree

4 files changed

+45
-51
lines changed

4 files changed

+45
-51
lines changed

paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodMetadataFixtures.kt

+29
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.stripe.android.lpmfoundations.paymentmethod
22

3+
import com.stripe.android.uicore.utils.stateFlowOf
4+
import kotlinx.coroutines.flow.StateFlow
5+
36
internal object PaymentMethodMetadataFixtures {
47

58
internal val DEFAULT_CUSTOMER_METADATA_PERMISSIONS = CustomerMetadata.Permissions(
@@ -13,4 +16,30 @@ internal object PaymentMethodMetadataFixtures {
1316
isPaymentMethodSetAsDefaultEnabled = false,
1417
permissions = DEFAULT_CUSTOMER_METADATA_PERMISSIONS
1518
)
19+
20+
internal fun getDefaultCustomerMetadata(
21+
hasCustomerConfiguration: Boolean = true,
22+
isPaymentMethodSetAsDefaultEnabled: Boolean = false,
23+
permissions: CustomerMetadata.Permissions = DEFAULT_CUSTOMER_METADATA_PERMISSIONS,
24+
): CustomerMetadata {
25+
return CustomerMetadata(
26+
hasCustomerConfiguration = hasCustomerConfiguration,
27+
isPaymentMethodSetAsDefaultEnabled = isPaymentMethodSetAsDefaultEnabled,
28+
permissions = permissions,
29+
)
30+
}
31+
32+
internal fun getDefaultCustomerMetadataFlow(
33+
hasCustomerConfiguration: Boolean = true,
34+
isPaymentMethodSetAsDefaultEnabled: Boolean = false,
35+
permissions: CustomerMetadata.Permissions = DEFAULT_CUSTOMER_METADATA_PERMISSIONS,
36+
): StateFlow<CustomerMetadata> {
37+
return stateFlowOf(
38+
getDefaultCustomerMetadata(
39+
hasCustomerConfiguration = hasCustomerConfiguration,
40+
isPaymentMethodSetAsDefaultEnabled = isPaymentMethodSetAsDefaultEnabled,
41+
permissions = permissions,
42+
)
43+
)
44+
}
1645
}

paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/PaymentMethodMetadataTest.kt

+5-16
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.stripe.android.link.LinkConfiguration
88
import com.stripe.android.link.ui.inline.LinkSignupMode
99
import com.stripe.android.lpmfoundations.luxe.SupportedPaymentMethod
1010
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFixtures.DEFAULT_CUSTOMER_METADATA
11+
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFixtures.getDefaultCustomerMetadata
1112
import com.stripe.android.lpmfoundations.paymentmethod.definitions.AffirmDefinition
1213
import com.stripe.android.lpmfoundations.paymentmethod.link.LinkInlineConfiguration
1314
import com.stripe.android.model.CardBrand
@@ -837,14 +838,8 @@ internal class PaymentMethodMetadataTest {
837838
)
838839
),
839840
externalPaymentMethodSpecs = externalPaymentMethodSpecs,
840-
customerMetadata = CustomerMetadata(
841-
hasCustomerConfiguration = true,
842-
isPaymentMethodSetAsDefaultEnabled = false,
843-
permissions = CustomerMetadata.Permissions(
844-
canRemovePaymentMethods = true,
845-
canRemoveLastPaymentMethod = true,
846-
canRemoveDuplicates = true,
847-
)
841+
customerMetadata = getDefaultCustomerMetadata(
842+
isPaymentMethodSetAsDefaultEnabled = false
848843
),
849844
paymentMethodSaveConsentBehavior = PaymentMethodSaveConsentBehavior.Legacy,
850845
isGooglePayReady = false,
@@ -915,14 +910,8 @@ internal class PaymentMethodMetadataTest {
915910
sharedDataSpecs = listOf(SharedDataSpec("card")),
916911
displayableCustomPaymentMethods = emptyList(),
917912
externalPaymentMethodSpecs = listOf(),
918-
customerMetadata = CustomerMetadata(
919-
hasCustomerConfiguration = true,
920-
isPaymentMethodSetAsDefaultEnabled = false,
921-
permissions = CustomerMetadata.Permissions(
922-
canRemovePaymentMethods = true,
923-
canRemoveLastPaymentMethod = true,
924-
canRemoveDuplicates = true,
925-
)
913+
customerMetadata = getDefaultCustomerMetadata(
914+
isPaymentMethodSetAsDefaultEnabled = false
926915
),
927916
isGooglePayReady = true,
928917
paymentMethodSaveConsentBehavior = paymentMethodSaveConsentBehavior,

paymentsheet/src/test/java/com/stripe/android/lpmfoundations/paymentmethod/definitions/CardUiDefinitionFactoryTest.kt

+6-13
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package com.stripe.android.lpmfoundations.paymentmethod.definitions
22

3-
import com.stripe.android.lpmfoundations.paymentmethod.CustomerMetadata
43
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFactory
5-
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFixtures.DEFAULT_CUSTOMER_METADATA_PERMISSIONS
4+
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFixtures.getDefaultCustomerMetadata
65
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodSaveConsentBehavior
76
import com.stripe.android.lpmfoundations.paymentmethod.formElements
87
import com.stripe.android.model.PaymentIntentFixtures
@@ -91,10 +90,8 @@ class CardUiDefinitionFactoryTest {
9190
paparazziRule.snapshot {
9291
CardDefinition.CreateFormUi(
9392
metadata = metadata.copy(
94-
customerMetadata = CustomerMetadata(
95-
hasCustomerConfiguration = true,
96-
isPaymentMethodSetAsDefaultEnabled = false,
97-
permissions = DEFAULT_CUSTOMER_METADATA_PERMISSIONS,
93+
customerMetadata = getDefaultCustomerMetadata(
94+
isPaymentMethodSetAsDefaultEnabled = false
9895
),
9996
)
10097
)
@@ -105,10 +102,8 @@ class CardUiDefinitionFactoryTest {
105102
fun testCardWithSaveForLaterAndSetAsDefaultShown() {
106103
val formElements = CardDefinition.formElements(
107104
metadata = metadata.copy(
108-
customerMetadata = CustomerMetadata(
109-
hasCustomerConfiguration = true,
110-
isPaymentMethodSetAsDefaultEnabled = true,
111-
permissions = DEFAULT_CUSTOMER_METADATA_PERMISSIONS,
105+
customerMetadata = getDefaultCustomerMetadata(
106+
isPaymentMethodSetAsDefaultEnabled = true
112107
),
113108
)
114109
)
@@ -171,10 +166,8 @@ class CardUiDefinitionFactoryTest {
171166
paymentMethodTypes = listOf("card"),
172167
),
173168
paymentMethodSaveConsentBehavior = PaymentMethodSaveConsentBehavior.Enabled,
174-
customerMetadata = CustomerMetadata(
175-
hasCustomerConfiguration = true,
169+
customerMetadata = getDefaultCustomerMetadata(
176170
isPaymentMethodSetAsDefaultEnabled = false,
177-
permissions = DEFAULT_CUSTOMER_METADATA_PERMISSIONS,
178171
),
179172
),
180173
)

paymentsheet/src/test/java/com/stripe/android/paymentsheet/viewmodels/PaymentOptionsItemsMapperTest.kt

+5-22
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ import androidx.arch.core.executor.testing.InstantTaskExecutorRule
44
import app.cash.turbine.test
55
import com.google.common.truth.Truth.assertThat
66
import com.stripe.android.core.strings.resolvableString
7-
import com.stripe.android.lpmfoundations.paymentmethod.CustomerMetadata
8-
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFixtures.DEFAULT_CUSTOMER_METADATA_PERMISSIONS
7+
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFixtures.getDefaultCustomerMetadataFlow
98
import com.stripe.android.model.PaymentMethod
109
import com.stripe.android.model.PaymentMethodFixtures
1110
import com.stripe.android.paymentsheet.PaymentOptionsItem
@@ -33,13 +32,7 @@ class PaymentOptionsItemsMapperTest {
3332
isNotPaymentFlow = true,
3433
nameProvider = { it!!.resolvableString },
3534
isCbcEligible = { false },
36-
customerMetadata = MutableStateFlow(
37-
CustomerMetadata(
38-
hasCustomerConfiguration = false,
39-
isPaymentMethodSetAsDefaultEnabled = false,
40-
permissions = DEFAULT_CUSTOMER_METADATA_PERMISSIONS,
41-
)
42-
),
35+
customerMetadata = getDefaultCustomerMetadataFlow(),
4336
)
4437

4538
mapper().test {
@@ -70,13 +63,7 @@ class PaymentOptionsItemsMapperTest {
7063
isNotPaymentFlow = false,
7164
nameProvider = { it!!.resolvableString },
7265
isCbcEligible = { false },
73-
customerMetadata = MutableStateFlow(
74-
CustomerMetadata(
75-
hasCustomerConfiguration = false,
76-
isPaymentMethodSetAsDefaultEnabled = false,
77-
permissions = DEFAULT_CUSTOMER_METADATA_PERMISSIONS,
78-
)
79-
),
66+
customerMetadata = getDefaultCustomerMetadataFlow(),
8067
)
8168

8269
mapper().test {
@@ -126,12 +113,8 @@ class PaymentOptionsItemsMapperTest {
126113
isNotPaymentFlow = false,
127114
nameProvider = { it!!.resolvableString },
128115
isCbcEligible = { false },
129-
customerMetadata = MutableStateFlow(
130-
CustomerMetadata(
131-
hasCustomerConfiguration = false,
132-
isPaymentMethodSetAsDefaultEnabled = isSetAsDefaultEnabled,
133-
permissions = DEFAULT_CUSTOMER_METADATA_PERMISSIONS,
134-
)
116+
customerMetadata = getDefaultCustomerMetadataFlow(
117+
isPaymentMethodSetAsDefaultEnabled = isSetAsDefaultEnabled
135118
),
136119
)
137120
}

0 commit comments

Comments
 (0)