添加即时收款流程并对齐 Android

This commit is contained in:
2026-07-07 09:29:03 +08:00
parent 0964ef8b80
commit 16e86c8899
17 changed files with 1548 additions and 1 deletions

View File

@ -0,0 +1,53 @@
//
// PaymentModelsTests.swift
// suixinkanTests
//
import XCTest
@testable import suixinkan
///
final class PaymentModelsTests: XCTestCase {
func testPayCodeResponseDecodesSnakeCaseFields() throws {
let json = """
{
"static_pay_url": "https://pay.example.com/static",
"dynamic_pay_url": "https://pay.example.com/dynamic"
}
""".data(using: .utf8)!
let response = try JSONDecoder().decode(PayCodeResponse.self, from: json)
XCTAssertEqual(response.staticPayURL, "https://pay.example.com/static")
XCTAssertEqual(response.dynamicPayURL, "https://pay.example.com/dynamic")
}
func testRepaymentCollectionRecordResponseDecodesGroupedFields() throws {
let json = """
{
"analyse": [
{
"date": "2024-01-15",
"order_count": 2,
"order_amount_sum": "100.00"
}
],
"list": [
{
"order_number": "NO001",
"user_phone": "13800138000",
"order_amount": "50.00",
"create_date": "2024-01-15",
"create_time": "10:00:00"
}
]
}
""".data(using: .utf8)!
let response = try JSONDecoder().decode(RepaymentCollectionRecordResponse.self, from: json)
XCTAssertEqual(response.analyse.count, 1)
XCTAssertEqual(response.analyse[0].orderCount, 2)
XCTAssertEqual(response.list[0].orderNumber, "NO001")
}
}