|
10 | 10 | @_spi(STP) import StripePayments |
11 | 11 |
|
12 | 12 | class STPFPXBankBrandTest: XCTestCase { |
| 13 | + /// Expected API identifier and display name for every bank brand. |
| 14 | + private static let expectedValues: [STPFPXBankBrand: (id: String, name: String)] = [ |
| 15 | + .affinBank: (id: "affin_bank", name: "Affin Bank"), |
| 16 | + .allianceBank: (id: "alliance_bank", name: "Alliance Bank"), |
| 17 | + .ambank: (id: "ambank", name: "AmBank"), |
| 18 | + .bankIslam: (id: "bank_islam", name: "Bank Islam"), |
| 19 | + .bankMuamalat: (id: "bank_muamalat", name: "Bank Muamalat"), |
| 20 | + .bankRakyat: (id: "bank_rakyat", name: "Bank Rakyat"), |
| 21 | + .BSN: (id: "bsn", name: "BSN"), |
| 22 | + .CIMB: (id: "cimb", name: "CIMB Clicks"), |
| 23 | + .hongLeongBank: (id: "hong_leong_bank", name: "Hong Leong Bank"), |
| 24 | + .HSBC: (id: "hsbc", name: "HSBC BANK"), |
| 25 | + .KFH: (id: "kfh", name: "KFH"), |
| 26 | + .maybank2E: (id: "maybank2e", name: "Maybank2E"), |
| 27 | + .maybank2U: (id: "maybank2u", name: "Maybank2U"), |
| 28 | + .ocbc: (id: "ocbc", name: "OCBC Bank"), |
| 29 | + .publicBank: (id: "public_bank", name: "Public Bank"), |
| 30 | + .RHB: (id: "rhb", name: "RHB Bank"), |
| 31 | + .standardChartered: (id: "standard_chartered", name: "Standard Chartered"), |
| 32 | + .UOB: (id: "uob", name: "UOB Bank"), |
| 33 | + .agrobank: (id: "agrobank", name: "Agrobank"), |
| 34 | + .bankOfChina: (id: "bank_of_china", name: "Bank of China"), |
| 35 | + .deutscheBank: (id: "deutsche_bank", name: "Deutsche Bank"), |
| 36 | + .publicBankEnterprise: (id: "pb_enterprise", name: "Public Bank Enterprise"), |
| 37 | + .mbsb_bank: (id: "mbsb_bank", name: "MBSB Bank"), |
| 38 | + .bnp_paribas: (id: "bnp_paribas", name: "BNP Paribas"), |
| 39 | + .citibank: (id: "citibank", name: "Citibank"), |
| 40 | + .unknown: (id: "unknown", name: "Unknown"), |
| 41 | + ] |
| 42 | + |
13 | 43 | func testStringFromBrand() { |
14 | 44 | for brand in STPFPXBankBrand.allCases { |
15 | 45 | let brandName = STPFPXBank.stringFrom(brand) |
16 | 46 | let brandID = STPFPXBank.identifierFrom(brand) |
17 | 47 | let reverseTransformedBrand = STPFPXBank.brandFrom(brandID) |
18 | 48 | XCTAssertEqual(reverseTransformedBrand, brand) |
19 | 49 |
|
20 | | - switch brand { |
21 | | - case .affinBank: |
22 | | - XCTAssertEqual(brandID, "affin_bank") |
23 | | - XCTAssertEqual(brandName, "Affin Bank") |
24 | | - case .allianceBank: |
25 | | - XCTAssertEqual(brandID, "alliance_bank") |
26 | | - XCTAssertEqual(brandName, "Alliance Bank") |
27 | | - case .ambank: |
28 | | - XCTAssertEqual(brandID, "ambank") |
29 | | - XCTAssertEqual(brandName, "AmBank") |
30 | | - case .bankIslam: |
31 | | - XCTAssertEqual(brandID, "bank_islam") |
32 | | - XCTAssertEqual(brandName, "Bank Islam") |
33 | | - case .bankMuamalat: |
34 | | - XCTAssertEqual(brandID, "bank_muamalat") |
35 | | - XCTAssertEqual(brandName, "Bank Muamalat") |
36 | | - case .bankRakyat: |
37 | | - XCTAssertEqual(brandID, "bank_rakyat") |
38 | | - XCTAssertEqual(brandName, "Bank Rakyat") |
39 | | - case .BSN: |
40 | | - XCTAssertEqual(brandID, "bsn") |
41 | | - XCTAssertEqual(brandName, "BSN") |
42 | | - case .CIMB: |
43 | | - XCTAssertEqual(brandID, "cimb") |
44 | | - XCTAssertEqual(brandName, "CIMB Clicks") |
45 | | - case .hongLeongBank: |
46 | | - XCTAssertEqual(brandID, "hong_leong_bank") |
47 | | - XCTAssertEqual(brandName, "Hong Leong Bank") |
48 | | - case .HSBC: |
49 | | - XCTAssertEqual(brandID, "hsbc") |
50 | | - XCTAssertEqual(brandName, "HSBC BANK") |
51 | | - case .KFH: |
52 | | - XCTAssertEqual(brandID, "kfh") |
53 | | - XCTAssertEqual(brandName, "KFH") |
54 | | - case .maybank2E: |
55 | | - XCTAssertEqual(brandID, "maybank2e") |
56 | | - XCTAssertEqual(brandName, "Maybank2E") |
57 | | - case .maybank2U: |
58 | | - XCTAssertEqual(brandID, "maybank2u") |
59 | | - XCTAssertEqual(brandName, "Maybank2U") |
60 | | - case .ocbc: |
61 | | - XCTAssertEqual(brandID, "ocbc") |
62 | | - XCTAssertEqual(brandName, "OCBC Bank") |
63 | | - case .publicBank: |
64 | | - XCTAssertEqual(brandID, "public_bank") |
65 | | - XCTAssertEqual(brandName, "Public Bank") |
66 | | - case .RHB: |
67 | | - XCTAssertEqual(brandID, "rhb") |
68 | | - XCTAssertEqual(brandName, "RHB Bank") |
69 | | - case .standardChartered: |
70 | | - XCTAssertEqual(brandID, "standard_chartered") |
71 | | - XCTAssertEqual(brandName, "Standard Chartered") |
72 | | - case .UOB: |
73 | | - XCTAssertEqual(brandID, "uob") |
74 | | - XCTAssertEqual(brandName, "UOB Bank") |
75 | | - case .unknown: |
76 | | - XCTAssertEqual(brandID, "unknown") |
77 | | - XCTAssertEqual(brandName, "Unknown") |
78 | | - @unknown default: |
79 | | - break |
| 50 | + if let expected = Self.expectedValues[brand] { |
| 51 | + XCTAssertEqual(brandID, expected.id) |
| 52 | + XCTAssertEqual(brandName, expected.name) |
80 | 53 | } |
81 | 54 | } |
82 | 55 | } |
|
0 commit comments