mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 10:33:45 +00:00
Updated Screenshot Tests and fixed an issue with the MockMediaProvider (#554)
* updated the tests * updated ui tests * removed unused files * fixed a bug that prevented the image to be added in the avatar of the rooms from the mock, and improved some UI tests * swiftformat * fixed an issue where the room Id was not matching the real room id coming from the timelineController, also updated some tests, and added a test for the case where the RoomAvatar is available. * added some waitForExistence checks to allow the CI to find the UI elements * this should make the loading bar always match at the HStack size * code improvement for the tests * fix for the max frame of the loading screen * updated tests * regenerated and improved some tests * sonarcloud improvements * changelog
This commit is contained in:
@@ -40,7 +40,8 @@ struct UserNotificationModalView: View {
|
||||
}
|
||||
}
|
||||
.padding()
|
||||
.frame(minWidth: 150.0, maxWidth: 250.0)
|
||||
.frame(minWidth: 150.0)
|
||||
.fixedSize(horizontal: true, vertical: false)
|
||||
.background(Color.element.quinaryContent)
|
||||
.clipShape(RoundedCornerShape(radius: 12.0, corners: .allCorners))
|
||||
.shadow(color: .black.opacity(0.1), radius: 10.0, y: 4.0)
|
||||
|
||||
@@ -103,13 +103,13 @@ struct RoomDetailsScreen: View {
|
||||
.background(Color.element.system)
|
||||
.clipShape(RoundedCornerShape(radius: 8, corners: .allCorners))
|
||||
.frame(width: menuIconSize, height: menuIconSize)
|
||||
|
||||
|
||||
Text(ElementL10n.bottomActionPeople)
|
||||
.foregroundColor(.element.primaryContent)
|
||||
.font(.body)
|
||||
|
||||
|
||||
Spacer()
|
||||
|
||||
|
||||
if context.viewState.isLoadingMembers {
|
||||
ProgressView()
|
||||
} else {
|
||||
@@ -138,19 +138,19 @@ struct RoomDetailsScreen: View {
|
||||
.background(Color.element.system)
|
||||
.clipShape(RoundedCornerShape(radius: 8, corners: .allCorners))
|
||||
.frame(width: menuIconSize, height: menuIconSize)
|
||||
|
||||
|
||||
VStack(alignment: .leading, spacing: 2) {
|
||||
Text(ElementL10n.encryptionEnabled)
|
||||
.foregroundColor(.element.primaryContent)
|
||||
.font(.element.body)
|
||||
|
||||
|
||||
Text(ElementL10n.encryptionEnabledTileDescription)
|
||||
.foregroundColor(.element.secondaryContent)
|
||||
.font(.element.footnote)
|
||||
}
|
||||
|
||||
|
||||
Spacer()
|
||||
|
||||
|
||||
Image(systemName: "checkmark")
|
||||
.foregroundColor(.element.quaternaryContent)
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ class BugReportService: NSObject, BugReportServiceProtocol {
|
||||
if let progressListener {
|
||||
progressSubject
|
||||
.receive(on: DispatchQueue.main)
|
||||
.assign(to: \.value, on: progressListener.progressSubject)
|
||||
.weakAssign(to: \.value, on: progressListener.progressSubject)
|
||||
.store(in: &cancellables)
|
||||
(data, _) = try await session.data(for: request, delegate: self)
|
||||
} else {
|
||||
|
||||
@@ -19,7 +19,7 @@ import UIKit
|
||||
|
||||
struct MockMediaProvider: MediaProviderProtocol {
|
||||
func imageFromSource(_ source: MediaSourceProxy?, size: CGSize?) -> UIImage? {
|
||||
nil
|
||||
imageFromURL(source?.url, size: size)
|
||||
}
|
||||
|
||||
func loadImageFromSource(_ source: MediaSourceProxy, size: CGSize?) async -> Result<UIImage, MediaProviderError> {
|
||||
|
||||
@@ -19,7 +19,7 @@ import Foundation
|
||||
import MatrixRustSDK
|
||||
|
||||
struct MockRoomProxy: RoomProxyProtocol {
|
||||
let id = UUID().uuidString
|
||||
var id = UUID().uuidString
|
||||
let name: String? = nil
|
||||
let displayName: String?
|
||||
var topic: String?
|
||||
|
||||
@@ -41,6 +41,7 @@ enum UITestScreenIdentifier: String {
|
||||
case sessionVerification
|
||||
case userSessionScreen
|
||||
case roomDetailsScreen
|
||||
case roomDetailsScreenWithRoomAvatar
|
||||
case roomMemberDetailsScreen
|
||||
}
|
||||
|
||||
|
||||
@@ -274,11 +274,24 @@ class MockScreen: Identifiable {
|
||||
return navigationSplitCoordinator
|
||||
case .roomDetailsScreen:
|
||||
let navigationStackCoordinator = NavigationStackCoordinator()
|
||||
let userNotificationController = UserNotificationController(rootCoordinator: navigationStackCoordinator)
|
||||
let roomProxy = MockRoomProxy(id: "MockRoomIdentifier",
|
||||
displayName: "Room",
|
||||
isEncrypted: true,
|
||||
members: [.mockAlice, .mockBob, .mockCharlie])
|
||||
let coordinator = RoomDetailsCoordinator(parameters: .init(navigationStackCoordinator: navigationStackCoordinator,
|
||||
roomProxy: MockRoomProxy(displayName: "Room",
|
||||
isEncrypted: true,
|
||||
members: [.mockAlice, .mockBob, .mockCharlie]),
|
||||
roomProxy: roomProxy,
|
||||
mediaProvider: MockMediaProvider()))
|
||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||
return navigationStackCoordinator
|
||||
case .roomDetailsScreenWithRoomAvatar:
|
||||
let navigationStackCoordinator = NavigationStackCoordinator()
|
||||
let roomProxy = MockRoomProxy(id: "MockRoomIdentifier",
|
||||
displayName: "Room",
|
||||
avatarURL: URL.picturesDirectory,
|
||||
isEncrypted: true,
|
||||
members: [.mockAlice, .mockBob, .mockCharlie])
|
||||
let coordinator = RoomDetailsCoordinator(parameters: .init(navigationStackCoordinator: navigationStackCoordinator,
|
||||
roomProxy: roomProxy,
|
||||
mediaProvider: MockMediaProvider()))
|
||||
navigationStackCoordinator.setRootCoordinator(coordinator)
|
||||
return navigationStackCoordinator
|
||||
|
||||
Reference in New Issue
Block a user