This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import XCTest
|
||||
@testable import IDPGlobal
|
||||
|
||||
final class PairingPayloadParserTests: XCTestCase {
|
||||
func testParsesStructuredPairingPayload() throws {
|
||||
let payload = "idp.global://pair?token=swiftapp-demo-berlin&origin=code.foss.global&device=Safari%20on%20Berlin%20MBP"
|
||||
|
||||
let context = try PairingPayloadParser.parse(payload)
|
||||
|
||||
XCTAssertEqual(context.deviceName, "Safari on Berlin MBP")
|
||||
XCTAssertEqual(context.originHost, "code.foss.global")
|
||||
XCTAssertEqual(context.tokenPreview, "berlin")
|
||||
}
|
||||
|
||||
func testParsesManualFallbackPayload() throws {
|
||||
let context = try PairingPayloadParser.parse("manual pair token 1234567890")
|
||||
|
||||
XCTAssertEqual(context.deviceName, "Manual Session")
|
||||
XCTAssertEqual(context.originHost, "code.foss.global")
|
||||
XCTAssertEqual(context.tokenPreview, "567890")
|
||||
}
|
||||
|
||||
func testRejectsInvalidPayload() {
|
||||
XCTAssertThrowsError(try PairingPayloadParser.parse("https://example.com")) { error in
|
||||
XCTAssertEqual(error as? AppError, .invalidPairingPayload)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user