mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Generating SDK Mocks through the usage of swift run tools generate-sdk-mocks (#982)
* basic implementation, that works for now only with the local SDK * replaced a handmade mock with a generated mock
This commit is contained in:
@@ -20,7 +20,8 @@ import XCTest
|
||||
|
||||
final class MediaLoaderTests: XCTestCase {
|
||||
func testMediaRequestCoalescing() async {
|
||||
let mediaLoadingClient = MockMediaLoadingClient()
|
||||
let mediaLoadingClient = SDKClientMock()
|
||||
mediaLoadingClient.getMediaContentMediaSourceReturnValue = []
|
||||
let mediaLoader = MediaLoader(client: mediaLoadingClient)
|
||||
|
||||
let mediaSource = MediaSourceProxy(url: URL.documentsDirectory, mimeType: nil)
|
||||
@@ -30,14 +31,15 @@ final class MediaLoaderTests: XCTestCase {
|
||||
_ = try await mediaLoader.loadMediaContentForSource(mediaSource)
|
||||
}
|
||||
|
||||
XCTAssertEqual(mediaLoadingClient.numberOfInvocations, 10)
|
||||
XCTAssertEqual(mediaLoadingClient.getMediaContentMediaSourceCallsCount, 10)
|
||||
} catch {
|
||||
fatalError()
|
||||
}
|
||||
}
|
||||
|
||||
func testMediaThumbnailRequestCoalescing() async {
|
||||
let mediaLoadingClient = MockMediaLoadingClient()
|
||||
let mediaLoadingClient = SDKClientMock()
|
||||
mediaLoadingClient.getMediaThumbnailMediaSourceWidthHeightReturnValue = []
|
||||
let mediaLoader = MediaLoader(client: mediaLoadingClient)
|
||||
|
||||
let mediaSource = MediaSourceProxy(url: URL.documentsDirectory, mimeType: nil)
|
||||
@@ -47,107 +49,9 @@ final class MediaLoaderTests: XCTestCase {
|
||||
_ = try await mediaLoader.loadMediaThumbnailForSource(mediaSource, width: 100, height: 100)
|
||||
}
|
||||
|
||||
XCTAssertEqual(mediaLoadingClient.numberOfInvocations, 10)
|
||||
XCTAssertEqual(mediaLoadingClient.getMediaThumbnailMediaSourceWidthHeightCallsCount, 10)
|
||||
} catch {
|
||||
fatalError()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class MockMediaLoadingClient: ClientProtocol {
|
||||
private(set) var numberOfInvocations = 0
|
||||
|
||||
func getMediaContent(mediaSource: MatrixRustSDK.MediaSource) throws -> [UInt8] {
|
||||
numberOfInvocations += 1
|
||||
return []
|
||||
}
|
||||
|
||||
func getMediaThumbnail(mediaSource: MatrixRustSDK.MediaSource, width: UInt64, height: UInt64) throws -> [UInt8] {
|
||||
numberOfInvocations += 1
|
||||
return []
|
||||
}
|
||||
|
||||
// MARK: - Not implemented
|
||||
|
||||
func setDelegate(delegate: MatrixRustSDK.ClientDelegate?) { }
|
||||
|
||||
func login(username: String, password: String, initialDeviceName: String?, deviceId: String?) throws { }
|
||||
|
||||
func restoreSession(session: MatrixRustSDK.Session) throws { }
|
||||
|
||||
func session() throws -> MatrixRustSDK.Session { fatalError() }
|
||||
|
||||
func userId() throws -> String { fatalError() }
|
||||
|
||||
func displayName() throws -> String { fatalError() }
|
||||
|
||||
func setDisplayName(name: String) throws { }
|
||||
|
||||
func avatarUrl() throws -> String? { fatalError() }
|
||||
|
||||
func cachedAvatarUrl() throws -> String? { fatalError() }
|
||||
|
||||
func deviceId() throws -> String { fatalError() }
|
||||
|
||||
func accountData(eventType: String) throws -> String? { fatalError() }
|
||||
|
||||
func setAccountData(eventType: String, content: String) throws { fatalError() }
|
||||
|
||||
func uploadMedia(mimeType: String, data content: [UInt8]) throws -> String { fatalError() }
|
||||
|
||||
func getMediaFile(mediaSource: MatrixRustSDK.MediaSource, body: String?, mimeType: String) throws -> MatrixRustSDK.MediaFileHandle { fatalError() }
|
||||
|
||||
func getProfile(userId: String) throws -> MatrixRustSDK.UserProfile { fatalError() }
|
||||
|
||||
func getSessionVerificationController() throws -> MatrixRustSDK.SessionVerificationController { fatalError() }
|
||||
|
||||
func fullSlidingSync() throws -> MatrixRustSDK.SlidingSync { fatalError() }
|
||||
|
||||
func logout() throws { }
|
||||
|
||||
func hasFirstSynced() -> Bool { fatalError() }
|
||||
|
||||
func homeserver() -> String { fatalError() }
|
||||
|
||||
func isSoftLogout() -> Bool { fatalError() }
|
||||
|
||||
func isSyncing() -> Bool { fatalError() }
|
||||
|
||||
func rooms() -> [MatrixRustSDK.Room] { fatalError() }
|
||||
|
||||
func slidingSync() -> MatrixRustSDK.SlidingSyncBuilder { fatalError() }
|
||||
|
||||
func startSync(timelineLimit: UInt16?) { }
|
||||
|
||||
func createRoom(request: MatrixRustSDK.CreateRoomParameters) throws -> String { fatalError() }
|
||||
|
||||
func getDmRoom(userId: String) throws -> MatrixRustSDK.Room? {
|
||||
fatalError()
|
||||
}
|
||||
|
||||
func ignoreUser(userId: String) throws {
|
||||
fatalError()
|
||||
}
|
||||
|
||||
func unignoreUser(userId: String) throws {
|
||||
fatalError()
|
||||
}
|
||||
|
||||
// swiftlint:disable:next function_parameter_count
|
||||
func setPusher(identifiers: MatrixRustSDK.PusherIdentifiers,
|
||||
kind: MatrixRustSDK.PusherKind,
|
||||
appDisplayName: String,
|
||||
deviceDisplayName: String,
|
||||
profileTag: String?,
|
||||
lang: String) throws {
|
||||
fatalError()
|
||||
}
|
||||
|
||||
func searchUsers(searchTerm: String, limit: UInt64) throws -> MatrixRustSDK.SearchUsersResults { fatalError() }
|
||||
|
||||
func setNotificationDelegate(notificationDelegate: MatrixRustSDK.NotificationDelegate?) { }
|
||||
|
||||
func getNotificationItem(roomId: String, eventId: String) throws -> MatrixRustSDK.NotificationItem {
|
||||
fatalError()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user