Sync order detail and scanner verification
This commit is contained in:
38
suixinkanTests/OrderNumberParserTests.swift
Normal file
38
suixinkanTests/OrderNumberParserTests.swift
Normal file
@ -0,0 +1,38 @@
|
||||
//
|
||||
// OrderNumberParserTests.swift
|
||||
// suixinkanTests
|
||||
//
|
||||
// Created by Codex on 2026/6/22.
|
||||
//
|
||||
|
||||
import XCTest
|
||||
@testable import suixinkan
|
||||
|
||||
/// 订单号解析器测试,覆盖扫码内容中的常见订单号格式。
|
||||
final class OrderNumberParserTests: XCTestCase {
|
||||
/// 测试从 URL query 中解析 order_number。
|
||||
func testParseOrderNumberFromURLQuery() {
|
||||
XCTAssertEqual(
|
||||
OrderNumberParser.parse("https://example.com/check?foo=1&order_number=ORD123456"),
|
||||
"ORD123456"
|
||||
)
|
||||
}
|
||||
|
||||
/// 测试从 key-value 文本中解析订单号。
|
||||
func testParseOrderNumberFromKeyValueText() {
|
||||
XCTAssertEqual(OrderNumberParser.parse("order_number=ORD123456"), "ORD123456")
|
||||
XCTAssertEqual(OrderNumberParser.parse("order-number:ORD654321"), "ORD654321")
|
||||
}
|
||||
|
||||
/// 测试从纯文本中解析订单号。
|
||||
func testParsePlainOrderNumberText() {
|
||||
XCTAssertEqual(OrderNumberParser.parse(" VERIFY001 "), "VERIFY001")
|
||||
}
|
||||
|
||||
/// 测试无效内容不会返回订单号。
|
||||
func testParseInvalidTextReturnsNil() {
|
||||
XCTAssertNil(OrderNumberParser.parse(""))
|
||||
XCTAssertNil(OrderNumberParser.parse("abc def"))
|
||||
XCTAssertNil(OrderNumberParser.parse("12345"))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user