Skip to content

Commit 4fb7039

Browse files
committed
Some more tests
1 parent 0a8e2aa commit 4fb7039

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

Tests/Card Tests/CardComponentTests.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,6 +1052,17 @@ class CardComponentTests: XCTestCase {
10521052
XCTAssertTrue(expDateItem.isValid())
10531053
}
10541054

1055+
func testInstallmentEncoding() throws {
1056+
1057+
let installments = Installments(totalMonths: 12, plan: .regular)
1058+
1059+
let installmentsData = try JSONEncoder().encode(installments)
1060+
let decodedInstallments = try XCTUnwrap(JSONSerialization.jsonObject(with: installmentsData) as? [String: Any])
1061+
1062+
XCTAssertEqual(decodedInstallments["value"] as? Int, installments.totalMonths)
1063+
XCTAssertEqual(decodedInstallments["plan"] as? String, installments.plan.rawValue)
1064+
}
1065+
10551066
func testInstallmentsWithDefaultAndCardBasedOptions() {
10561067
let cardBasedInstallmentOptions: [CardType: InstallmentOptions] = [.visa:
10571068
InstallmentOptions(maxInstallmentMonth: 8, includesRevolving: true)]

Tests/Components Tests/Gift Card/GiftCardComponentTests.swift

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -615,8 +615,53 @@ class GiftCardComponentTests: XCTestCase {
615615
XCTAssertNotNil(expiryDateItemView, "expiry date should still be shown when security code item is hidden")
616616
XCTAssertNil(securityCodeItemView)
617617
}
618+
619+
func testPartialConfirmationPaymentMethod() {
620+
621+
let giftCard = GiftCardPaymentMethod(type: .giftcard, name: "Giftcard", brand: "giftcard")
622+
623+
let paymentMethod = PartialConfirmationPaymentMethod(
624+
paymentMethod: giftCard,
625+
lastFour: "1234",
626+
remainingAmount: .init(value: 1000, currencyCode: "USD")
627+
)
628+
629+
XCTAssertEqual(paymentMethod.type, giftCard.type)
630+
631+
let displayInformation = paymentMethod.defaultDisplayInformation(using: nil)
632+
633+
XCTAssertEqual(displayInformation.title, "•••• 1234")
634+
XCTAssertEqual(displayInformation.logoName, giftCard.brand)
635+
XCTAssertEqual(displayInformation.accessibilityLabel, "Giftcard, Last 4 digits: 1, 2, 3, 4, Remaining balance will be $10.00")
636+
}
637+
638+
func testPartialPaymentOrder() throws {
639+
640+
let order = PartialPaymentOrder(
641+
pspReference: "psp-reference",
642+
orderData: "order-data",
643+
reference: "reference",
644+
amount: .init(value: 1000, currencyCode: "USD"),
645+
remainingAmount: .init(value: 500, currencyCode: "USD"),
646+
expiresAt: Date()
647+
)
648+
649+
let encodedOrder = try JSONEncoder().encode(order)
650+
let decodedOrder = try JSONDecoder().decode(PartialPaymentOrder.self, from: encodedOrder)
651+
652+
XCTAssertEqual(order.pspReference, decodedOrder.pspReference)
653+
XCTAssertEqual(order.orderData, decodedOrder.orderData)
654+
XCTAssertEqual(order.reference, decodedOrder.reference)
655+
XCTAssertEqual(order.amount, decodedOrder.amount)
656+
XCTAssertEqual(order.remainingAmount, decodedOrder.remainingAmount)
657+
XCTAssertNil(decodedOrder.expiresAt)
658+
XCTAssertEqual(order.compactOrder, decodedOrder.compactOrder)
659+
}
660+
}
618661

619-
private func populate(cardNumber: String, pin: String) {
662+
private extension GiftCardComponentTests {
663+
664+
func populate(cardNumber: String, pin: String) {
620665
populate(textItemView: numberItemView!, with: cardNumber)
621666
populate(textItemView: securityCodeItemView!, with: pin)
622667
}

0 commit comments

Comments
 (0)