|
|
|
@ -13,7 +13,8 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi
|
|
|
|
|
import kotlinx.coroutines.test.TestCoroutineDispatcher
|
|
|
|
|
import kotlinx.coroutines.test.TestCoroutineScope
|
|
|
|
|
import kotlinx.coroutines.test.runBlockingTest
|
|
|
|
|
import mozilla.components.concept.storage.CreditCard
|
|
|
|
|
import mozilla.components.concept.storage.CreditCardNumber
|
|
|
|
|
import mozilla.components.concept.storage.NewCreditCardFields
|
|
|
|
|
import mozilla.components.concept.storage.UpdatableCreditCardFields
|
|
|
|
|
import mozilla.components.service.sync.autofill.AutofillCreditCardsAddressesStorage
|
|
|
|
|
import mozilla.components.support.test.rule.MainCoroutineRule
|
|
|
|
@ -66,32 +67,22 @@ class DefaultCreditCardEditorControllerTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun handleDeleteCreditCard() = testCoroutineScope.runBlockingTest {
|
|
|
|
|
val creditCard = CreditCard(
|
|
|
|
|
guid = "id",
|
|
|
|
|
billingName = "Banana Apple",
|
|
|
|
|
cardNumber = "4111111111111110",
|
|
|
|
|
expiryMonth = 1,
|
|
|
|
|
expiryYear = 2030,
|
|
|
|
|
cardType = "amex",
|
|
|
|
|
timeCreated = 1L,
|
|
|
|
|
timeLastUsed = 1L,
|
|
|
|
|
timeLastModified = 1L,
|
|
|
|
|
timesUsed = 1L
|
|
|
|
|
)
|
|
|
|
|
val creditCardId = "id"
|
|
|
|
|
|
|
|
|
|
controller.handleDeleteCreditCard(creditCard.guid)
|
|
|
|
|
controller.handleDeleteCreditCard(creditCardId)
|
|
|
|
|
|
|
|
|
|
coVerify {
|
|
|
|
|
storage.deleteCreditCard(creditCard.guid)
|
|
|
|
|
storage.deleteCreditCard(creditCardId)
|
|
|
|
|
navController.popBackStack()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun handleSaveCreditCard() = testCoroutineScope.runBlockingTest {
|
|
|
|
|
val creditCardFields = UpdatableCreditCardFields(
|
|
|
|
|
val creditCardFields = NewCreditCardFields(
|
|
|
|
|
billingName = "Banana Apple",
|
|
|
|
|
cardNumber = "4111111111111112",
|
|
|
|
|
plaintextCardNumber = CreditCardNumber.Plaintext("4111111111111112"),
|
|
|
|
|
cardNumberLast4 = "1112",
|
|
|
|
|
expiryMonth = 1,
|
|
|
|
|
expiryYear = 2030,
|
|
|
|
|
cardType = "discover"
|
|
|
|
@ -107,30 +98,20 @@ class DefaultCreditCardEditorControllerTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun handleUpdateCreditCard() = testCoroutineScope.runBlockingTest {
|
|
|
|
|
val creditCard = CreditCard(
|
|
|
|
|
guid = "id",
|
|
|
|
|
billingName = "Banana Apple",
|
|
|
|
|
cardNumber = "4111111111111110",
|
|
|
|
|
expiryMonth = 1,
|
|
|
|
|
expiryYear = 2030,
|
|
|
|
|
cardType = "amex",
|
|
|
|
|
timeCreated = 1L,
|
|
|
|
|
timeLastUsed = 1L,
|
|
|
|
|
timeLastModified = 1L,
|
|
|
|
|
timesUsed = 1L
|
|
|
|
|
)
|
|
|
|
|
val creditCardId = "id"
|
|
|
|
|
val creditCardFields = UpdatableCreditCardFields(
|
|
|
|
|
billingName = "Banana Apple",
|
|
|
|
|
cardNumber = "4111111111111112",
|
|
|
|
|
cardNumber = CreditCardNumber.Plaintext("4111111111111112"),
|
|
|
|
|
cardNumberLast4 = "1112",
|
|
|
|
|
expiryMonth = 1,
|
|
|
|
|
expiryYear = 2034,
|
|
|
|
|
cardType = "discover"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
controller.handleUpdateCreditCard(creditCard.guid, creditCardFields)
|
|
|
|
|
controller.handleUpdateCreditCard(creditCardId, creditCardFields)
|
|
|
|
|
|
|
|
|
|
coVerify {
|
|
|
|
|
storage.updateCreditCard(creditCard.guid, creditCardFields)
|
|
|
|
|
storage.updateCreditCard(creditCardId, creditCardFields)
|
|
|
|
|
navController.popBackStack()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|