Skip to content

Commit 23ec5fb

Browse files
committed
Add helper so we don't have to set email everywhere
1 parent 2c64651 commit 23ec5fb

1 file changed

Lines changed: 28 additions & 35 deletions

File tree

paymentsheet/src/test/java/com/stripe/android/paymentsheet/state/DefaultPaymentElementLoaderTest.kt

Lines changed: 28 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2658,9 +2658,8 @@ internal class DefaultPaymentElementLoaderTest {
26582658
val cards = PaymentMethodFactory.cards(4)
26592659
val loader = createPaymentElementLoader(
26602660
customerRepo = repository,
2661-
customer = ElementsSession.Customer(
2661+
customer = createElementsSessionCustomer(
26622662
paymentMethods = cards,
2663-
email = null,
26642663
session = ElementsSession.Customer.Session(
26652664
id = "cuss_1",
26662665
customerId = "cus_1",
@@ -2704,9 +2703,8 @@ internal class DefaultPaymentElementLoaderTest {
27042703
fun `When 'elements_session' has remove permissions enabled, should enable remove permissions in customerMetadata`() =
27052704
runScenario {
27062705
val loader = createPaymentElementLoader(
2707-
customer = ElementsSession.Customer(
2706+
customer = createElementsSessionCustomer(
27082707
paymentMethods = PaymentMethodFactory.cards(4),
2709-
email = null,
27102708
session = createElementsSessionCustomerSession(
27112709
createEnabledMobilePaymentElement(
27122710
paymentMethodRemove =
@@ -2756,9 +2754,8 @@ internal class DefaultPaymentElementLoaderTest {
27562754
fun `When 'elements_session' has remove permissions disabled, should disable remove permissions in customerMetadata`() =
27572755
runScenario {
27582756
val loader = createPaymentElementLoader(
2759-
customer = ElementsSession.Customer(
2757+
customer = createElementsSessionCustomer(
27602758
paymentMethods = PaymentMethodFactory.cards(4),
2761-
email = null,
27622759
session = createElementsSessionCustomerSession(
27632760
createEnabledMobilePaymentElement(
27642761
paymentMethodRemove =
@@ -2808,9 +2805,8 @@ internal class DefaultPaymentElementLoaderTest {
28082805
fun `When 'elements_session' has Payment Sheet component disabled, should disable permissions in customerMetadata`() =
28092806
runScenario {
28102807
val loader = createPaymentElementLoader(
2811-
customer = ElementsSession.Customer(
2808+
customer = createElementsSessionCustomer(
28122809
paymentMethods = PaymentMethodFactory.cards(4),
2813-
email = null,
28142810
session = createElementsSessionCustomerSession(
28152811
createEnabledMobilePaymentElement(
28162812
paymentMethodRemove =
@@ -2860,9 +2856,8 @@ internal class DefaultPaymentElementLoaderTest {
28602856
fun `When 'elements_session' has partial remove permissions, should enable partial remove permissions in customerMetadata`() =
28612857
runScenario {
28622858
val loader = createPaymentElementLoader(
2863-
customer = ElementsSession.Customer(
2859+
customer = createElementsSessionCustomer(
28642860
paymentMethods = PaymentMethodFactory.cards(4),
2865-
email = null,
28662861
session = createElementsSessionCustomerSession(
28672862
createEnabledMobilePaymentElement(
28682863
paymentMethodRemove =
@@ -2912,9 +2907,8 @@ internal class DefaultPaymentElementLoaderTest {
29122907
fun `customer session should have canUpdateFullPaymentMethodDetails permission enabled`() =
29132908
runScenario {
29142909
val loader = createPaymentElementLoader(
2915-
customer = ElementsSession.Customer(
2910+
customer = createElementsSessionCustomer(
29162911
paymentMethods = PaymentMethodFactory.cards(4),
2917-
email = null,
29182912
session = createElementsSessionCustomerSession(
29192913
createEnabledMobilePaymentElement(
29202914
paymentMethodRemove =
@@ -3181,9 +3175,8 @@ internal class DefaultPaymentElementLoaderTest {
31813175
loaderScenario.prefsRepository.setSavedSelection(SavedSelection.PaymentMethod(lastUsed.id))
31823176

31833177
val loader = loaderScenario.createPaymentElementLoader(
3184-
customer = ElementsSession.Customer(
3178+
customer = createElementsSessionCustomer(
31853179
paymentMethods = paymentMethods,
3186-
email = null,
31873180
session = ElementsSession.Customer.Session(
31883181
id = "cuss_1",
31893182
customerId = "cus_1",
@@ -3271,7 +3264,7 @@ internal class DefaultPaymentElementLoaderTest {
32713264
runScenario {
32723265
val customerEmail = "example@stripe.com"
32733266
val loader = createPaymentElementLoader(
3274-
customer = ElementsSession.Customer(
3267+
customer = createElementsSessionCustomer(
32753268
paymentMethods = PaymentMethodFactory.cards(1),
32763269
email = customerEmail,
32773270
session = ElementsSession.Customer.Session(
@@ -3425,9 +3418,8 @@ internal class DefaultPaymentElementLoaderTest {
34253418

34263419
runFilterScenario {
34273420
val loader = loaderScenario.createPaymentElementLoader(
3428-
customer = ElementsSession.Customer(
3421+
customer = createElementsSessionCustomer(
34293422
paymentMethods = paymentMethodsForTestingOrdering,
3430-
email = null,
34313423
session = createElementsSessionCustomerSession(
34323424
mobilePaymentElementComponent =
34333425
ElementsSession.Customer.Components.MobilePaymentElement.Enabled(
@@ -4037,9 +4029,8 @@ internal class DefaultPaymentElementLoaderTest {
40374029
test: (CustomerMetadata) -> Unit,
40384030
) = runScenario {
40394031
val loader = createPaymentElementLoader(
4040-
customer = ElementsSession.Customer(
4032+
customer = createElementsSessionCustomer(
40414033
paymentMethods = PaymentMethodFactory.cards(4),
4042-
email = null,
40434034
session = createElementsSessionCustomerSession(
40444035
if (shouldDisableMobilePaymentElement) {
40454036
ElementsSession.Customer.Components.MobilePaymentElement.Disabled
@@ -4423,6 +4414,7 @@ internal class DefaultPaymentElementLoaderTest {
44234414

44244415
private fun createElementsSessionCustomer(
44254416
paymentMethods: List<PaymentMethod> = PaymentMethodFactory.cards(1),
4417+
email: String? = null,
44264418
isPaymentMethodSaveEnabled: Boolean? = null,
44274419
mobilePaymentElementComponent: ElementsSession.Customer.Components.MobilePaymentElement =
44284420
isPaymentMethodSaveEnabled?.let {
@@ -4434,23 +4426,25 @@ internal class DefaultPaymentElementLoaderTest {
44344426
allowRedisplayOverride = null,
44354427
isPaymentMethodSetAsDefaultEnabled = false,
44364428
)
4437-
} ?: ElementsSession.Customer.Components.MobilePaymentElement.Disabled
4429+
} ?: ElementsSession.Customer.Components.MobilePaymentElement.Disabled,
4430+
session: ElementsSession.Customer.Session = ElementsSession.Customer.Session(
4431+
id = "cuss_1",
4432+
customerId = "cus_1",
4433+
liveMode = false,
4434+
apiKey = "ek_123",
4435+
apiKeyExpiry = 555555555,
4436+
components = ElementsSession.Customer.Components(
4437+
mobilePaymentElement = mobilePaymentElementComponent,
4438+
customerSheet = ElementsSession.Customer.Components.CustomerSheet.Disabled,
4439+
),
4440+
),
4441+
defaultPaymentMethod: String? = null,
44384442
): ElementsSession.Customer {
44394443
return ElementsSession.Customer(
44404444
paymentMethods = paymentMethods,
4441-
email = null,
4442-
session = ElementsSession.Customer.Session(
4443-
id = "cuss_1",
4444-
customerId = "cus_1",
4445-
liveMode = false,
4446-
apiKey = "ek_123",
4447-
apiKeyExpiry = 555555555,
4448-
components = ElementsSession.Customer.Components(
4449-
mobilePaymentElement = mobilePaymentElementComponent,
4450-
customerSheet = ElementsSession.Customer.Components.CustomerSheet.Disabled,
4451-
),
4452-
),
4453-
defaultPaymentMethod = null,
4445+
email = email,
4446+
session = session,
4447+
defaultPaymentMethod = defaultPaymentMethod,
44544448
)
44554449
}
44564450

@@ -4707,9 +4701,8 @@ internal class DefaultPaymentElementLoaderTest {
47074701
}
47084702

47094703
val loader = createPaymentElementLoader(
4710-
customer = ElementsSession.Customer(
4704+
customer = createElementsSessionCustomer(
47114705
paymentMethods = paymentMethodsForTestingOrdering,
4712-
email = null,
47134706
session = createElementsSessionCustomerSession(
47144707
mobilePaymentElementComponent = ElementsSession.Customer.Components.MobilePaymentElement.Enabled(
47154708
isPaymentMethodSetAsDefaultEnabled = true,

0 commit comments

Comments
 (0)