Files
swiftapp/swift/Tests/PairingPayloadParserTests.swift
T

29 lines
1.1 KiB
Swift
Raw Normal View History

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