Switch to using proper SDK Mocks everywhere.

This commit is contained in:
Stefan Ceriu
2026-06-03 11:49:36 +03:00
parent d2f1e5caed
commit 9615e184ad
11 changed files with 23 additions and 14 deletions
@@ -11,6 +11,7 @@
import Combine import Combine
import Foundation import Foundation
import MatrixRustSDK import MatrixRustSDK
import MatrixRustSDKMocks
struct TimelineControllerMockConfiguration { struct TimelineControllerMockConfiguration {
var roomProxy: JoinedRoomProxyProtocol? var roomProxy: JoinedRoomProxyProtocol?
@@ -204,7 +205,7 @@ extension TimelineControllerMock {
return .success(()) return .success(())
} }
messageEventContentForReturnValue = .init(noHandle: .init()) messageEventContentForReturnValue = RoomMessageEventContentWithoutRelationSDKMock()
debugInfoForReturnValue = .init(model: "Mock debug description", originalJSON: nil, latestEditJSON: nil) debugInfoForReturnValue = .init(model: "Mock debug description", originalJSON: nil, latestEditJSON: nil)
eventTimestampForClosure = { [timelineItemsTimestamps] itemID in eventTimestampForClosure = { [timelineItemsTimestamps] itemID in
@@ -9,6 +9,7 @@
import Combine import Combine
import Foundation import Foundation
import MatrixRustSDK import MatrixRustSDK
import MatrixRustSDKMocks
extension TimelineProxyMock { extension TimelineProxyMock {
struct Configuration { struct Configuration {
@@ -24,7 +25,7 @@ extension TimelineProxyMock {
sendMessageEventContentReturnValue = .success(()) sendMessageEventContentReturnValue = .success(())
sendMessageHtmlInReplyToEventIDIntentionalMentionsReturnValue = .success(()) sendMessageHtmlInReplyToEventIDIntentionalMentionsReturnValue = .success(())
editNewContentReturnValue = .success(()) editNewContentReturnValue = .success(())
buildMessageContentForHtmlIntentionalMentionsReturnValue = RoomMessageEventContentWithoutRelation(noHandle: .init()) buildMessageContentForHtmlIntentionalMentionsReturnValue = RoomMessageEventContentWithoutRelationSDKMock()
paginateBackwardsRequestSizeReturnValue = .success(()) paginateBackwardsRequestSizeReturnValue = .success(())
paginateForwardsRequestSizeReturnValue = .success(()) paginateForwardsRequestSizeReturnValue = .success(())
sendReadReceiptForTypeReturnValue = .success(()) sendReadReceiptForTypeReturnValue = .success(())
@@ -7,6 +7,7 @@
// //
import Compound import Compound
import MatrixRustSDKMocks
import SwiftUI import SwiftUI
struct MessageForwardingScreen: View { struct MessageForwardingScreen: View {
@@ -97,7 +98,7 @@ struct MessageForwardingScreen_Previews: PreviewProvider, TestablePreview {
let summaryProvider = RoomSummaryProviderMock(.init(state: .loaded(.mockRooms))) let summaryProvider = RoomSummaryProviderMock(.init(state: .loaded(.mockRooms)))
let viewModel = MessageForwardingScreenViewModel(forwardingItem: .init(id: .randomEvent, let viewModel = MessageForwardingScreenViewModel(forwardingItem: .init(id: .randomEvent,
roomID: "", roomID: "",
content: .init(noHandle: .init())), content: RoomMessageEventContentWithoutRelationSDKMock()),
userSession: UserSessionMock(.init()), userSession: UserSessionMock(.init()),
roomSummaryProvider: summaryProvider, roomSummaryProvider: summaryProvider,
userIndicatorController: UserIndicatorControllerMock()) userIndicatorController: UserIndicatorControllerMock())
@@ -8,6 +8,7 @@
import Foundation import Foundation
import MatrixRustSDK import MatrixRustSDK
import MatrixRustSDKMocks
/// A light wrapper around timeline items returned from Rust. /// A light wrapper around timeline items returned from Rust.
enum TimelineItemProxy { enum TimelineItemProxy {
@@ -204,7 +205,7 @@ struct SendHandleProxy: Hashable {
static var mock: SendHandleProxy { static var mock: SendHandleProxy {
.init(itemID: .event(uniqueID: .init(UUID().uuidString), .init(itemID: .event(uniqueID: .init(UUID().uuidString),
eventOrTransactionID: .eventID(UUID().uuidString)), eventOrTransactionID: .eventID(UUID().uuidString)),
underlyingHandle: .init(noHandle: .init())) underlyingHandle: SendHandleSDKMock())
} }
} }
@@ -8,6 +8,7 @@
import Combine import Combine
import MatrixRustSDK import MatrixRustSDK
import MatrixRustSDKMocks
import SwiftUI import SwiftUI
import UIKit import UIKit
@@ -876,7 +877,7 @@ class MockScreen: Identifiable {
timelineProxy.buildMessageContentForHtmlIntentionalMentionsClosure = { text, _, _ in timelineProxy.buildMessageContentForHtmlIntentionalMentionsClosure = { text, _, _ in
pendingEditText = text pendingEditText = text
return RoomMessageEventContentWithoutRelation(noHandle: .init()) return RoomMessageEventContentWithoutRelationSDKMock()
} }
timelineProxy.editNewContentClosure = { [weak itemProvider] _, _ in timelineProxy.editNewContentClosure = { [weak itemProvider] _, _ in
@@ -147,7 +147,7 @@ struct AuthenticationServiceTests {
let classicAppManager = ClassicAppManagerMock(.init(accounts: classicAppAccounts, let classicAppManager = ClassicAppManagerMock(.init(accounts: classicAppAccounts,
availableSecrets: availableSecrets, availableSecrets: availableSecrets,
secretsBundle: .init(noHandle: .init()))) secretsBundle: SecretsBundleWithUserIdSDKMock()))
service = AuthenticationService(userSessionStore: userSessionStore, service = AuthenticationService(userSessionStore: userSessionStore,
encryptionKeyProvider: encryptionKeyProvider, encryptionKeyProvider: encryptionKeyProvider,
+2 -1
View File
@@ -8,6 +8,7 @@
import Combine import Combine
@testable import ElementX @testable import ElementX
import MatrixRustSDKMocks
import Testing import Testing
@MainActor @MainActor
@@ -21,7 +22,7 @@ struct HomeScreenRoomTests {
notificationMode: RoomNotificationModeProxy, notificationMode: RoomNotificationModeProxy,
hasOngoingCall: Bool, hasOngoingCall: Bool,
activeCallIntent: CallIntent? = nil) { activeCallIntent: CallIntent? = nil) {
roomSummary = RoomSummary(room: .init(noHandle: .init()), roomSummary = RoomSummary(room: RoomSDKMock(),
id: "Test room", id: "Test room",
joinRequestType: nil, joinRequestType: nil,
name: "Test room", name: "Test room",
+5 -4
View File
@@ -9,6 +9,7 @@
@testable import ElementX @testable import ElementX
import Foundation import Foundation
@testable import MatrixRustSDK @testable import MatrixRustSDK
import MatrixRustSDKMocks
import Testing import Testing
final class LoggingTests { final class LoggingTests {
@@ -72,7 +73,7 @@ final class LoggingTests {
let roomName = "Private Conversation" let roomName = "Private Conversation"
let lastMessage = "Secret information" let lastMessage = "Secret information"
let heroName = "Pseudonym" let heroName = "Pseudonym"
let roomSummary = RoomSummary(room: .init(noHandle: .init()), let roomSummary = RoomSummary(room: RoomSDKMock(),
id: "myroomid", id: "myroomid",
joinRequestType: nil, joinRequestType: nil,
name: roomName, name: roomName,
@@ -223,19 +224,19 @@ final class LoggingTests {
let rustImageMessage = ImageMessageContent(filename: "ImageString", let rustImageMessage = ImageMessageContent(filename: "ImageString",
caption: "ImageString", caption: "ImageString",
formattedCaption: nil, formattedCaption: nil,
source: MediaSource(noHandle: .init()), source: MediaSourceSDKMock(),
info: nil) info: nil)
let rustVideoMessage = VideoMessageContent(filename: "VideoString", let rustVideoMessage = VideoMessageContent(filename: "VideoString",
caption: "VideoString", caption: "VideoString",
formattedCaption: nil, formattedCaption: nil,
source: MediaSource(noHandle: .init()), source: MediaSourceSDKMock(),
info: nil) info: nil)
let rustFileMessage = FileMessageContent(filename: "FileString", let rustFileMessage = FileMessageContent(filename: "FileString",
caption: "FileString", caption: "FileString",
formattedCaption: nil, formattedCaption: nil,
source: MediaSource(noHandle: .init()), source: MediaSourceSDKMock(),
info: nil) info: nil)
// When logging that value // When logging that value
@@ -8,13 +8,14 @@
import Combine import Combine
@testable import ElementX @testable import ElementX
import MatrixRustSDKMocks
import Testing import Testing
@MainActor @MainActor
struct MessageForwardingScreenViewModelTests { struct MessageForwardingScreenViewModelTests {
let forwardingItem = MessageForwardingItem(id: .event(uniqueID: .init("t1"), eventOrTransactionID: .eventID("t1")), let forwardingItem = MessageForwardingItem(id: .event(uniqueID: .init("t1"), eventOrTransactionID: .eventID("t1")),
roomID: "1", roomID: "1",
content: .init(noHandle: .init())) content: RoomMessageEventContentWithoutRelationSDKMock())
var viewModel: MessageForwardingScreenViewModelProtocol! var viewModel: MessageForwardingScreenViewModelProtocol!
var context: MessageForwardingScreenViewModelType.Context! var context: MessageForwardingScreenViewModelType.Context!
@@ -112,7 +112,7 @@ final class RoomSummaryProviderTests {
dynamicAdaptersResult.controllerReturnValue = dynamicEntriesController dynamicAdaptersResult.controllerReturnValue = dynamicEntriesController
roomList = RoomListSDKMock() roomList = RoomListSDKMock()
roomList.entriesWithDynamicAdaptersPageSizeListenerReturnValue = dynamicAdaptersResult roomList.entriesWithDynamicAdaptersPageSizeListenerReturnValue = dynamicAdaptersResult
roomList.loadingStateListenerReturnValue = .some(.init(state: .notLoaded, stateStream: .init(noHandle: .init()))) roomList.loadingStateListenerReturnValue = .some(.init(state: .notLoaded, stateStream: TaskHandleSDKMock()))
roomSummaryProvider.setRoomList(roomList) roomSummaryProvider.setRoomList(roomList)
} }
} }
+2 -1
View File
@@ -8,6 +8,7 @@
@testable import ElementX @testable import ElementX
import Foundation import Foundation
import MatrixRustSDKMocks
import Testing import Testing
struct RoomSummaryTests { struct RoomSummaryTests {
@@ -95,7 +96,7 @@ struct RoomSummaryTests {
// MARK: - Helpers // MARK: - Helpers
func makeSummary(isDirect: Bool, isSpace: Bool, hasRoomAvatar: Bool, isTombstoned: Bool) -> RoomSummary { func makeSummary(isDirect: Bool, isSpace: Bool, hasRoomAvatar: Bool, isTombstoned: Bool) -> RoomSummary {
RoomSummary(room: .init(noHandle: .init()), RoomSummary(room: RoomSDKMock(),
id: roomDetails.id, id: roomDetails.id,
joinRequestType: nil, joinRequestType: nil,
name: roomDetails.name, name: roomDetails.name,