This commit is contained in:
Alfonso Grillo
2022-12-13 15:35:18 +01:00
parent a423199aa4
commit 4201c0060e
2 changed files with 71 additions and 7 deletions
@@ -100,10 +100,67 @@ class UserSessionCardViewDataTests: XCTestCase {
XCTAssertEqual(verificationState, .permanentlyUnverified)
}
func testObsoletedDeviceInformation_someMatch() {
let mxSession = MockSession(canCrossSign: true)
let dataProvider = UserSessionsDataProvider(session: mxSession)
let accountDataEvents: [String: Any] = [
"io.element.matrix_client_information.D": ""
]
let expectedObsoletedEvents: Set = [
"io.element.matrix_client_information.D"
]
let obsoletedEvents = dataProvider.obsoletedDeviceAccountData(deviceList: .mockDevices, accountDataEvents: accountDataEvents)
XCTAssertEqual(obsoletedEvents, expectedObsoletedEvents)
}
func testObsoletedDeviceInformation_noMatch() {
let mxSession = MockSession(canCrossSign: true)
let dataProvider = UserSessionsDataProvider(session: mxSession)
let accountDataEvents: [String: Any] = [
"io.element.matrix_client_information.C": ""
]
let expectedObsoletedEvents: Set<String> = []
let obsoletedEvents = dataProvider.obsoletedDeviceAccountData(deviceList: .mockDevices, accountDataEvents: accountDataEvents)
XCTAssertEqual(obsoletedEvents, expectedObsoletedEvents)
}
func testObsoletedDeviceInformation_allMatch() {
let mxSession = MockSession(canCrossSign: true)
let dataProvider = UserSessionsDataProvider(session: mxSession)
let expectedObsoletedEvents = Set(["D", "E", "F"].map { "io.element.matrix_client_information.\($0)"})
let accountDataEvents: [String: Any] = expectedObsoletedEvents.reduce(into: [:]) { partialResult, value in
partialResult[value] = ""
}
let obsoletedEvents = dataProvider.obsoletedDeviceAccountData(deviceList: .mockDevices, accountDataEvents: accountDataEvents)
XCTAssertEqual(obsoletedEvents, expectedObsoletedEvents)
}
}
// MARK: Mocks
private extension Array where Element == MXDevice {
static let mockDevices: [MXDevice] = {
["A", "B", "C"]
.map {
let device = MXDevice()
device.deviceId = $0
return device
}
}()
}
// Device ID constants.
private extension String {
static var otherDeviceA: String { "abcdef" }