@@ -615,8 +615,53 @@ class GiftCardComponentTests: XCTestCase {
615
615
XCTAssertNotNil ( expiryDateItemView, " expiry date should still be shown when security code item is hidden " )
616
616
XCTAssertNil ( securityCodeItemView)
617
617
}
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
+ }
618
661
619
- private func populate( cardNumber: String , pin: String ) {
662
+ private extension GiftCardComponentTests {
663
+
664
+ func populate( cardNumber: String , pin: String ) {
620
665
populate ( textItemView: numberItemView!, with: cardNumber)
621
666
populate ( textItemView: securityCodeItemView!, with: pin)
622
667
}
0 commit comments