mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 10:33:45 +00:00
Use iOS 26 Observation for Unit and Preview tests. (#5797)
* use observation in unit and preview tests instead of the async stream * use a parsing approach that is independent of the sourcery annotation * Fix observation deferred fulfillments not receiving the initial value Observation's observe only emits transitions, not the value present at subscription time. Drop the leading initial value from the affected transitionValues sequences and assert it directly with #expect instead. * improved docs
This commit is contained in:
@@ -123,6 +123,7 @@ struct LoginScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct LoginScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = makeViewModel()
|
||||
static let credentialsViewModel = makeViewModel(withCredentials: true)
|
||||
|
||||
+1
@@ -91,6 +91,7 @@ struct ServerSelectionScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct ServerSelection_Previews: PreviewProvider, TestablePreview {
|
||||
static let matrixViewModel = makeViewModel(for: "https://matrix.org")
|
||||
static let emptyViewModel = makeViewModel(for: "")
|
||||
|
||||
@@ -100,6 +100,7 @@ struct EmojiPickerScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct EmojiPickerScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = EmojiPickerScreenViewModel(itemID: .randomEvent,
|
||||
selectedEmojis: ["😀", "😄"],
|
||||
|
||||
@@ -169,6 +169,7 @@ struct TimelineMediaPreviewDetailsView: View {
|
||||
|
||||
import UniformTypeIdentifiers
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct TimelineMediaPreviewDetailsView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = makeViewModel(contentType: .jpeg, isOutgoing: true)
|
||||
static let loadingViewModel = makeViewModel(contentType: .jpeg, isOutgoing: true, isDownloaded: false)
|
||||
|
||||
@@ -103,6 +103,7 @@ struct LinkNewDeviceScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct LinkNewDeviceScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = makeViewModel(mode: .readyToLink(.idle))
|
||||
static let verifyingViewModel = makeViewModel(mode: .readyToLink(.verifyingDeviceOwner))
|
||||
|
||||
+1
@@ -116,6 +116,7 @@ struct IdentityConfirmationScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct IdentityConfirmationScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static var viewModel = makeViewModel()
|
||||
static var loadingViewModel = makeViewModel(recoveryState: .unknown)
|
||||
|
||||
@@ -359,6 +359,7 @@ struct RoomDetailsScreen: View {
|
||||
|
||||
import MatrixRustSDK
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct RoomDetailsScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let genericWorldReadableRoomViewModel = makeGenericRoomViewModel(historyVisibility: .worldReadable)
|
||||
static let genericJoinedRoomViewModel = makeGenericRoomViewModel(historyVisibility: .joined)
|
||||
|
||||
+1
@@ -110,6 +110,7 @@ struct SecureBackupLogoutConfirmationScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct SecureBackupLogoutConfirmationScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = makeViewModel(mode: .saveRecoveryKey)
|
||||
static let waitingViewModel = makeViewModel(mode: .waitingToStart(hasStalled: false))
|
||||
|
||||
+1
@@ -237,6 +237,7 @@ private struct RecoveryKeyView: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct SecureBackupRecoveryKeyScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let key = "EsTM njec uHYA yHmh dQdW Nj4o bNRU 9jMN XGMc KUNM UFr5 R8GY"
|
||||
static let notSetUpViewModel = viewModel(recoveryState: .disabled)
|
||||
|
||||
@@ -116,6 +116,7 @@ struct SecureBackupScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct SecureBackupScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let bothSetupViewModel = viewModel(keyBackupState: .enabled, recoveryState: .enabled)
|
||||
static let onlyKeyBackupSetUpViewModel = viewModel(keyBackupState: .enabled, recoveryState: .disabled)
|
||||
|
||||
+1
@@ -264,6 +264,7 @@ struct NotificationSettingsScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct NotificationSettingsScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel: NotificationSettingsScreenViewModel = {
|
||||
let appSettings = AppSettings.volatile()
|
||||
|
||||
@@ -255,6 +255,7 @@ struct SettingsScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct SettingsScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = makeViewModel()
|
||||
static let bugReportDisabledViewModel = makeViewModel(isBugReportServiceEnabled: false)
|
||||
|
||||
@@ -157,6 +157,7 @@ private struct SpaceAddRoomsListRow: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct SpaceAddRoomsScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let summaryProvider = RoomSummaryProviderMock(.init(state: .loaded(.mockRooms)))
|
||||
static let viewModel = makeViewModel()
|
||||
|
||||
@@ -184,6 +184,7 @@ struct SpaceScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct SpaceScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = makeViewModel()
|
||||
static let managingViewModel = makeViewModel(isManagingRooms: true)
|
||||
|
||||
@@ -106,6 +106,7 @@ struct UserProfileScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
@available(iOS 26.0, *)
|
||||
struct UserProfileScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let verifiedUserViewModel = makeViewModel(userID: RoomMemberProxyMock.mockDan.userID)
|
||||
static let otherUserViewModel = makeViewModel(userID: RoomMemberProxyMock.mockAlice.userID)
|
||||
|
||||
Reference in New Issue
Block a user