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) } } }