fchaty/FchatiApp/Tests/FchatiAppTests/RelayAPIResponseTests.swift
2026-07-26 17:36:46 +02:00

37 lines
1.3 KiB
Swift

import XCTest
@testable import FchatiApp
final class RelayAPIResponseTests: XCTestCase {
func testPairingCreateResponseDecodesServerPayload() throws {
let data = Data(
"""
{"code":"FCHT-AB3K7Q","token":"creator-token","peerID":"creator-id","expiresAt":"2026-07-26T12:00:00Z"}
""".utf8
)
let response = try JSONDecoder().decode(PairingCreateResponse.self, from: data)
XCTAssertEqual(response.code, "FCHT-AB3K7Q")
XCTAssertEqual(response.peerID, "creator-id")
}
func testPairingJoinAndFileUploadResponsesDecodeServerPayloads() throws {
let pairingData = Data(
"""
{"token":"joiner-token","peerID":"joiner-id","peer":{"id":"creator-id","displayName":"Alex"}}
""".utf8
)
let fileData = Data(
"""
{"id":"file-id","name":"photo.jpg","size":128}
""".utf8
)
let pairingResponse = try JSONDecoder().decode(PairingJoinResponse.self, from: pairingData)
let fileResponse = try JSONDecoder().decode(FileUploadResponse.self, from: fileData)
XCTAssertEqual(pairingResponse.peer, PeerInfo(id: "creator-id", displayName: "Alex"))
XCTAssertEqual(fileResponse, FileUploadResponse(id: "file-id", name: "photo.jpg", size: 128))
}
}