mirror of
https://github.com/element-hq/element-x-ios.git
synced 2025-03-10 13:37:11 +00:00
Preview Tests (#1768)
* preview testing * removed some views that are not really testabl in UnitTests and improved other tests
This commit is contained in:
parent
612a28b7e2
commit
9d91cd4fc0
@ -47,9 +47,6 @@ cyclomatic_complexity:
|
||||
nesting:
|
||||
type_level:
|
||||
warning: 5
|
||||
|
||||
type_name:
|
||||
allowed_symbols: "_"
|
||||
|
||||
custom_rules:
|
||||
print_deprecation:
|
||||
|
@ -171,6 +171,7 @@
|
||||
36AC963F2F04069B7FF1AA0C /* UIConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E6D88E8AFFBF2C1D589C0FA /* UIConstants.swift */; };
|
||||
36AD4DD4C798E22584ED3200 /* Version in Frameworks */ = {isa = PBXBuildFile; productRef = A05AF81DDD14AD58CB0E1B9B /* Version */; };
|
||||
36CD6E11B37396E14F032CB6 /* Emojibase in Frameworks */ = {isa = PBXBuildFile; productRef = C05729B1684C331F5FFE9232 /* Emojibase */; };
|
||||
377980ABF16525114E72DDE2 /* Prefire in Frameworks */ = {isa = PBXBuildFile; productRef = 9B68DE8678BF67D4612BCC16 /* Prefire */; };
|
||||
37D789F24199B32E3FD1AA7B /* FileRoomTimelineItemContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 216F0DDC98F2A2C162D09C28 /* FileRoomTimelineItemContent.swift */; };
|
||||
383055C6ABE5BE058CEE1DDB /* WelcomeScreenScreenCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57FE5EF0AFFE360C66420AAE /* WelcomeScreenScreenCoordinator.swift */; };
|
||||
38546A6010A2CF240EC9AF73 /* BindableState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EA1D2CBAEA5D0BD00B90D1B /* BindableState.swift */; };
|
||||
@ -727,6 +728,7 @@
|
||||
DFF7D6A6C26DDD40D00AE579 /* target.yml in Resources */ = {isa = PBXBuildFile; fileRef = F012CB5EE3F2B67359F6CC52 /* target.yml */; };
|
||||
E0A4DCA633D174EB43AD599F /* BackgroundTaskProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CA028DCD4157F9A1F999827 /* BackgroundTaskProtocol.swift */; };
|
||||
E0B6A569AC3E81D233B43D60 /* SettingsScreenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E625B0EB2F86B37C14EF7E6 /* SettingsScreenViewModel.swift */; };
|
||||
E0FB26262689F04D66A949D7 /* TestablePreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1E227F34BE43B08E098796E /* TestablePreview.swift */; };
|
||||
E14E469CD97550D0FC58F3CA /* CancellableTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE52983FAFB4E0998C00EE8A /* CancellableTask.swift */; };
|
||||
E1DF24D085572A55C9758A2D /* Bundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6E89E530A8E92EC44301CA1 /* Bundle.swift */; };
|
||||
E1F446C6B78A3A0FEA15079C /* UnsupportedRoomTimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2AC3C656E960E15B5905E05 /* UnsupportedRoomTimelineView.swift */; };
|
||||
@ -1671,6 +1673,7 @@
|
||||
93A549135E6C027A0D823BFE /* DeviceKit in Frameworks */,
|
||||
6F26CBC84AE87EB4068D398B /* DTCoreText in Frameworks */,
|
||||
0E08BB72B2258652CF501A8B /* LRUCache in Frameworks */,
|
||||
377980ABF16525114E72DDE2 /* Prefire in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -4109,6 +4112,7 @@
|
||||
385D4C28F9DC5CF53BD9ECDB /* DeviceKit */,
|
||||
593FBBF394712F2963E98A0B /* DTCoreText */,
|
||||
78B28D75FF7AF8E6146DEE2A /* LRUCache */,
|
||||
9B68DE8678BF67D4612BCC16 /* Prefire */,
|
||||
);
|
||||
productName = NSE;
|
||||
productReference = 0D8F620C8B314840D8602E3F /* NSE.appex */;
|
||||
@ -4400,6 +4404,7 @@
|
||||
ECA636DAF071C611FDC2BB57 /* Strings+Untranslated.swift in Sources */,
|
||||
6EC7A40A537CFB3D526A111C /* Strings.swift in Sources */,
|
||||
719E7AAD1F8E68F68F30FECD /* Task.swift in Sources */,
|
||||
E0FB26262689F04D66A949D7 /* TestablePreview.swift in Sources */,
|
||||
DDB47D29C6865669288BF87C /* UIFont+AttributedStringBuilder.m in Sources */,
|
||||
281BED345D59A9A6A99E9D98 /* UNNotificationContent.swift in Sources */,
|
||||
518C93DC6516D3D018DE065F /* UNNotificationRequest.swift in Sources */,
|
||||
@ -5725,7 +5730,7 @@
|
||||
repositoryURL = "https://github.com/nicklockwood/GZIP";
|
||||
requirement = {
|
||||
kind = upToNextMinorVersion;
|
||||
minimumVersion = 1.3.1;
|
||||
minimumVersion = 1.3.0;
|
||||
};
|
||||
};
|
||||
80B898A3AD2AC63F3ABFC218 /* XCRemoteSwiftPackageReference "matrix-rust-components-swift" */ = {
|
||||
@ -6029,6 +6034,11 @@
|
||||
package = 701C7BEF8F70F7A83E852DCC /* XCRemoteSwiftPackageReference "GZIP" */;
|
||||
productName = GZIP;
|
||||
};
|
||||
9B68DE8678BF67D4612BCC16 /* Prefire */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 22E7BA2ED466B74739AB8567 /* XCRemoteSwiftPackageReference "Prefire" */;
|
||||
productName = Prefire;
|
||||
};
|
||||
9C73F37731C9FDED1BB24C1C /* Collections */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = F76A08D0EA29A07A54F4EB4D /* XCRemoteSwiftPackageReference "swift-collections" */;
|
||||
|
@ -26,7 +26,7 @@ extension AggregatedReaction {
|
||||
private static func mockReaction(key: String, senderIDs: [String]) -> AggregatedReaction {
|
||||
let senders = senderIDs
|
||||
.map { id in
|
||||
ReactionSender(senderID: id, timestamp: Date())
|
||||
ReactionSender(senderID: id, timestamp: Date(timeIntervalSinceReferenceDate: 0))
|
||||
}
|
||||
return AggregatedReaction(accountOwnerID: alice, key: key, senders: senders)
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ private extension ColorScheme {
|
||||
}
|
||||
}
|
||||
|
||||
struct MapLibreStaticMapView_Previews: PreviewProvider {
|
||||
struct MapLibreStaticMapView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
MapLibreStaticMapView(coordinates: CLLocationCoordinate2D(),
|
||||
zoomLevel: 15,
|
||||
|
@ -88,7 +88,7 @@ struct MessageText: UIViewRepresentable {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct MessageText_Previews: PreviewProvider {
|
||||
struct MessageText_Previews: PreviewProvider, TestablePreview {
|
||||
private static let defaultFontContainer: AttributeContainer = {
|
||||
var container = AttributeContainer()
|
||||
container.font = UIFont.preferredFont(forTextStyle: .body)
|
||||
|
@ -30,7 +30,7 @@ struct PillView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct PillView_Previews: PreviewProvider {
|
||||
struct PillView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
PillView()
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ extension View {
|
||||
}
|
||||
}
|
||||
|
||||
struct ShimmerOverlay_Previews: PreviewProvider {
|
||||
struct ShimmerOverlay_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = HomeScreenViewModel(userSession: MockUserSession(clientProxy: MockClientProxy(userID: ""),
|
||||
mediaProvider: MockMediaProvider()),
|
||||
attributedStringBuilder: AttributedStringBuilder(permalinkBaseURL: ServiceLocator.shared.settings.permalinkBaseURL),
|
||||
|
@ -145,7 +145,7 @@ struct FormActionButtonStyle: ButtonStyle {
|
||||
}
|
||||
}
|
||||
|
||||
struct FormButtonStyles_Previews: PreviewProvider {
|
||||
struct FormButtonStyles_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
Form {
|
||||
Section {
|
||||
|
@ -61,7 +61,7 @@ struct FormRowLabelStyle: LabelStyle {
|
||||
}
|
||||
}
|
||||
|
||||
struct FormRowLabelStyle_Previews: PreviewProvider {
|
||||
struct FormRowLabelStyle_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
VStack(alignment: .leading) {
|
||||
Label("Person", systemImage: "person")
|
||||
|
@ -107,7 +107,7 @@ struct FullscreenDialog<Content: View, BottomContent: View>: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct FullscreenDialog_Previews: PreviewProvider {
|
||||
struct FullscreenDialog_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
FullscreenDialog(topPadding: UIConstants.iconTopPaddingToNavigationBar) {
|
||||
content
|
||||
|
@ -59,7 +59,7 @@ struct AvatarHeaderView<Footer: View>: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct HeaderView_Previews: PreviewProvider {
|
||||
struct HeaderView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
Form {
|
||||
AvatarHeaderView(avatarUrl: URL.picturesDirectory,
|
||||
|
@ -26,7 +26,7 @@ struct LocationMarkerView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct LocationMarkerView_Previews: PreviewProvider {
|
||||
struct LocationMarkerView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
VStack(spacing: 30) {
|
||||
LocationMarkerView()
|
||||
|
@ -35,7 +35,7 @@ struct MatrixUserShareLink<Label: View>: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct MatrixUserPermalink_Previews: PreviewProvider {
|
||||
struct MatrixUserPermalink_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
MatrixUserShareLink(userID: "@someone:somewhere.org") {
|
||||
Label("Share", systemImage: "square.and.arrow.up")
|
||||
|
@ -66,7 +66,7 @@ struct PlaceholderAvatarImage: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct PlaceholderAvatarImage_Previews: PreviewProvider {
|
||||
struct PlaceholderAvatarImage_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
VStack(spacing: 75) {
|
||||
PlaceholderAvatarImage(name: "Xavier", contentID: "@userid1:matrix.org")
|
||||
|
@ -89,7 +89,7 @@ private extension MembershipState {
|
||||
}
|
||||
}
|
||||
|
||||
struct UserProfileCell_Previews: PreviewProvider {
|
||||
struct UserProfileCell_Previews: PreviewProvider, TestablePreview {
|
||||
static let action: () -> Void = { }
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -18,4 +18,4 @@ import SwiftUI
|
||||
|
||||
import Prefire
|
||||
|
||||
protocol TestablePreviewProvider: PreviewProvider, PrefireProvider { }
|
||||
protocol TestablePreview: PrefireProvider { }
|
||||
|
@ -64,7 +64,7 @@ struct UserIndicatorModalView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct UserIndicatorModalView_Previews: PreviewProvider {
|
||||
struct UserIndicatorModalView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
Group {
|
||||
UserIndicatorModalView(indicator: UserIndicator(type: .modal,
|
||||
|
@ -52,7 +52,7 @@ struct UserIndicatorToastView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct UserIndicatorToastView_Previews: PreviewProvider {
|
||||
struct UserIndicatorToastView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
VStack(spacing: 30) {
|
||||
UserIndicatorToastView(indicator: UserIndicator(title: "Successfully logged in",
|
||||
|
@ -107,7 +107,7 @@ struct AnalyticsPromptScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct AnalyticsPromptScreen_Previews: PreviewProvider {
|
||||
struct AnalyticsPromptScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = AnalyticsPromptScreenViewModel(termsURL: ServiceLocator.shared.settings.analyticsConfiguration.termsURL)
|
||||
static var previews: some View {
|
||||
AnalyticsPromptScreen(context: viewModel.context)
|
||||
|
@ -64,7 +64,7 @@ private struct CheckmarkLabelStyle: LabelStyle {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct AnalyticsPromptScreenCheckmarkItem_Previews: PreviewProvider {
|
||||
struct AnalyticsPromptScreenCheckmarkItem_Previews: PreviewProvider, TestablePreview {
|
||||
static let strings = AnalyticsPromptScreenStrings(termsURL: ServiceLocator.shared.settings.analyticsConfiguration.termsURL)
|
||||
|
||||
@ViewBuilder
|
||||
|
@ -41,7 +41,7 @@ struct AuthenticationIconImage: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct AuthenticationIconImage_Previews: PreviewProvider {
|
||||
struct AuthenticationIconImage_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
HStack(spacing: 20) {
|
||||
AuthenticationIconImage(image: Image(asset: Asset.Images.serverSelectionIcon), insets: 19)
|
||||
|
@ -132,7 +132,7 @@ struct LoginScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct LoginScreen_Previews: PreviewProvider {
|
||||
struct LoginScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let credentialsViewModel: LoginScreenViewModel = {
|
||||
let viewModel = LoginScreenViewModel(homeserver: .mockMatrixDotOrg, slidingSyncLearnMoreURL: ServiceLocator.shared.settings.slidingSyncLearnMoreURL)
|
||||
viewModel.context.username = "alice"
|
||||
|
@ -73,7 +73,7 @@ struct ServerConfirmationScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct ServerConfirmationScreen_Previews: PreviewProvider {
|
||||
struct ServerConfirmationScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let loginViewModel = ServerConfirmationScreenViewModel(authenticationService: MockAuthenticationServiceProxy(),
|
||||
authenticationFlow: .login)
|
||||
static let registerViewModel = ServerConfirmationScreenViewModel(authenticationService: MockAuthenticationServiceProxy(),
|
||||
|
@ -101,7 +101,7 @@ struct ServerSelectionScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct ServerSelection_Previews: PreviewProvider {
|
||||
struct ServerSelection_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
ForEach(MockServerSelectionScreenState.allCases, id: \.self) { state in
|
||||
NavigationStack {
|
||||
|
@ -174,7 +174,7 @@ struct SoftLogoutScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct SoftLogoutScreen_Previews: PreviewProvider {
|
||||
struct SoftLogoutScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
ForEach(MockSoftLogoutScreenState.allCases) { state in
|
||||
screen(for: state.viewModel)
|
||||
|
@ -82,7 +82,7 @@ struct WaitingDialog<Content: View, BottomContent: View>: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct WaitingDialog_Previews: PreviewProvider {
|
||||
struct WaitingDialog_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = WaitlistScreenViewModel(homeserver: .mockMatrixDotOrg)
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -70,7 +70,7 @@ struct WaitlistScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct WaitlistScreen_Previews: PreviewProvider {
|
||||
struct WaitlistScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = WaitlistScreenViewModel(homeserver: .mockMatrixDotOrg)
|
||||
static let successViewModel = {
|
||||
let viewModel = WaitlistScreenViewModel(homeserver: .mockMatrixDotOrg)
|
||||
|
@ -139,7 +139,7 @@ struct BugReportScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct BugReport_Previews: PreviewProvider {
|
||||
struct BugReport_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = BugReportScreenViewModel(bugReportService: BugReportServiceMock(),
|
||||
userID: "@mock.client.com",
|
||||
deviceID: nil,
|
||||
|
@ -174,7 +174,7 @@ struct ComposerToolbar: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct ComposerToolbar_Previews: PreviewProvider {
|
||||
struct ComposerToolbar_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
ComposerToolbar.mock()
|
||||
}
|
||||
|
@ -173,7 +173,7 @@ private struct MessageComposerHeaderLabelStyle: LabelStyle {
|
||||
}
|
||||
}
|
||||
|
||||
struct MessageComposer_Previews: PreviewProvider {
|
||||
struct MessageComposer_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static let replyTypes: [TimelineItemReplyDetails] = [
|
||||
|
@ -130,7 +130,7 @@ struct RoomAttachmentPicker: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct RoomAttachmentPicker_Previews: PreviewProvider {
|
||||
struct RoomAttachmentPicker_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = ComposerToolbarViewModel(wysiwygViewModel: WysiwygComposerViewModel())
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -161,7 +161,7 @@ private struct CreatePollOptionView: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct CreatePollScreen_Previews: PreviewProvider {
|
||||
struct CreatePollScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = CreatePollScreenViewModel()
|
||||
static var previews: some View {
|
||||
NavigationStack {
|
||||
|
@ -204,7 +204,7 @@ struct CreateRoomScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct CreateRoom_Previews: PreviewProvider {
|
||||
struct CreateRoom_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = {
|
||||
let userSession = MockUserSession(clientProxy: MockClientProxy(userID: "@userid:example.com"),
|
||||
mediaProvider: MockMediaProvider())
|
||||
|
@ -100,7 +100,7 @@ private struct IsSearching: ViewModifier {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct EmojiPickerScreen_Previews: PreviewProvider {
|
||||
struct EmojiPickerScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = EmojiPickerScreenViewModel(emojiProvider: EmojiProvider())
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -29,10 +29,10 @@ struct EmojiPickerScreenHeaderView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct EmojiPickerScreenHeaderView_Previews: PreviewProvider {
|
||||
struct EmojiPickerScreenHeaderView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
Group {
|
||||
EmojiPickerScreenHeaderView(title: "")
|
||||
EmojiPickerScreenHeaderView(title: "Title")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -309,7 +309,7 @@ struct HomeScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct HomeScreen_Previews: PreviewProvider {
|
||||
struct HomeScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let loadingViewModel = viewModel(.loading)
|
||||
static let loadedViewModel = viewModel(.loaded(.mockRooms))
|
||||
static let emptyViewModel = viewModel(.loaded([]))
|
||||
|
@ -101,7 +101,7 @@ struct HomeScreenEmptyStateLayout: Layout {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct HomeScreenEmptyStateView_Previews: PreviewProvider {
|
||||
struct HomeScreenEmptyStateView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
HomeScreenEmptyStateView(context: viewModel.context)
|
||||
.previewDisplayName("View")
|
||||
|
@ -49,7 +49,7 @@ struct HomeScreenInvitesButton: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct HomeScreenInvitesButton_Previews: PreviewProvider {
|
||||
struct HomeScreenInvitesButton_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
HomeScreenInvitesButton(title: "Invites", hasBadge: true, action: { })
|
||||
.previewDisplayName("Badge on")
|
||||
|
@ -182,7 +182,7 @@ private extension View {
|
||||
}
|
||||
}
|
||||
|
||||
struct HomeScreenRoomCell_Previews: PreviewProvider {
|
||||
struct HomeScreenRoomCell_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
let summaryProvider = MockRoomSummaryProvider(state: .loaded(.mockRooms))
|
||||
|
||||
@ -205,7 +205,7 @@ struct HomeScreenRoomCell_Previews: PreviewProvider {
|
||||
roomId: details.id,
|
||||
name: details.name,
|
||||
hasUnreads: details.unreadNotificationCount > 0,
|
||||
timestamp: Date.now.formattedMinimal(),
|
||||
timestamp: Date(timeIntervalSinceReferenceDate: 0).formattedMinimal(),
|
||||
lastMessage: details.lastMessage,
|
||||
notificationMode: details.notificationMode)
|
||||
}
|
||||
|
@ -142,7 +142,7 @@ struct InviteUsersScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct InviteUsersScreen_Previews: PreviewProvider {
|
||||
struct InviteUsersScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = {
|
||||
let userDiscoveryService = UserDiscoveryServiceMock()
|
||||
userDiscoveryService.fetchSuggestionsReturnValue = .success([.mockAlice])
|
||||
|
@ -54,7 +54,7 @@ struct InviteUsersScreenSelectedItem: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct InviteUsersScreenSelectedItem_Previews: PreviewProvider {
|
||||
struct InviteUsersScreenSelectedItem_Previews: PreviewProvider, TestablePreview {
|
||||
static let people: [UserProfileProxy] = [.mockAlice, .mockVerbose]
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -63,7 +63,7 @@ struct InvitesScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct InvitesScreen_Previews: PreviewProvider {
|
||||
struct InvitesScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
NavigationView {
|
||||
InvitesScreen(context: InvitesScreenViewModel.noInvites.context)
|
||||
|
@ -155,7 +155,7 @@ struct InvitesScreenCell: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct InvitesScreenCell_Previews: PreviewProvider {
|
||||
struct InvitesScreenCell_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
ScrollView {
|
||||
VStack(spacing: 0) {
|
||||
|
@ -156,7 +156,7 @@ struct StaticLocationScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct StaticLocationScreenViewer_Previews: PreviewProvider {
|
||||
struct StaticLocationScreenViewer_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
NavigationStack {
|
||||
StaticLocationScreen(context: StaticLocationScreenViewModel(interactionMode: .picker).context)
|
||||
|
@ -113,7 +113,7 @@ private class PreviewItem: NSObject, QLPreviewItem {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct MediaUploadPreviewScreen_Previews: PreviewProvider {
|
||||
struct MediaUploadPreviewScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = MediaUploadPreviewScreenViewModel(userIndicatorController: UserIndicatorControllerMock.default,
|
||||
roomProxy: RoomProxyMock(),
|
||||
mediaUploadingPreprocessor: MediaUploadingPreprocessor(),
|
||||
|
@ -96,7 +96,7 @@ private struct MessageForwardingRoomCell: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct MessageForwardingScreen_Previews: PreviewProvider {
|
||||
struct MessageForwardingScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
let summaryProvider = MockRoomSummaryProvider(state: .loaded(.mockRooms))
|
||||
let viewModel = MessageForwardingScreenViewModel(roomSummaryProvider: summaryProvider, sourceRoomID: "")
|
||||
|
@ -50,7 +50,7 @@ struct MigrationScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct MigrationScreen_Previews: PreviewProvider {
|
||||
struct MigrationScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = MigrationScreenViewModel()
|
||||
static var previews: some View {
|
||||
MigrationScreen(context: viewModel.context)
|
||||
|
@ -97,7 +97,7 @@ struct OnboardingScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct OnboardingScreen_Previews: PreviewProvider {
|
||||
struct OnboardingScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = OnboardingScreenViewModel()
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -33,7 +33,7 @@ struct PlaceholderScreen: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct PlaceholderScreen_Previews: PreviewProvider {
|
||||
struct PlaceholderScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
PlaceholderScreen()
|
||||
.previewDisplayName("Screen")
|
||||
|
@ -31,7 +31,7 @@ struct SplashScreen: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct SplashScreen_Previews: PreviewProvider {
|
||||
struct SplashScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
SplashScreen()
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ struct ReportContentScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct ReportContentScreen_Previews: PreviewProvider {
|
||||
struct ReportContentScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = ReportContentScreenViewModel(eventID: "",
|
||||
senderID: "",
|
||||
roomProxy: RoomProxyMock(with: .init(displayName: nil)))
|
||||
|
@ -158,17 +158,17 @@ struct RoomDetailsEditScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct RoomDetailsEditScreen_Previews: PreviewProvider {
|
||||
struct RoomDetailsEditScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomDetailsEditScreenViewModel(accountOwner: RoomMemberProxyMock.mockAlice,
|
||||
mediaProvider: MockMediaProvider(),
|
||||
roomProxy: RoomProxyMock(with: .init(name: "Room", displayName: "Room")),
|
||||
roomProxy: RoomProxyMock(with: .init(id: "test_id", name: "Room", displayName: "Room")),
|
||||
userIndicatorController: UserIndicatorControllerMock.default)
|
||||
|
||||
static let readOnlyViewModel = {
|
||||
let accountOwner = RoomMemberProxyMock.mockOwner(allowedStateEvents: [])
|
||||
return RoomDetailsEditScreenViewModel(accountOwner: accountOwner,
|
||||
mediaProvider: MockMediaProvider(),
|
||||
roomProxy: RoomProxyMock(with: .init(name: "Room", displayName: "Room")),
|
||||
roomProxy: RoomProxyMock(with: .init(id: "test_id", name: "Room", displayName: "Room")),
|
||||
userIndicatorController: UserIndicatorControllerMock.default)
|
||||
}()
|
||||
|
||||
|
@ -257,14 +257,14 @@ struct RoomDetailsScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct RoomDetailsScreen_Previews: PreviewProvider {
|
||||
struct RoomDetailsScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let genericRoomViewModel = {
|
||||
let members: [RoomMemberProxyMock] = [
|
||||
.mockAlice,
|
||||
.mockBob,
|
||||
.mockCharlie
|
||||
]
|
||||
let roomProxy = RoomProxyMock(with: .init(displayName: "Room A",
|
||||
let roomProxy = RoomProxyMock(with: .init(id: "room_a_id", displayName: "Room A",
|
||||
topic: "Bacon ipsum dolor amet short ribs buffalo pork loin cupim frankfurter. Burgdoggen pig shankle biltong flank ham jowl sirloin bacon cow. T-bone alcatra boudin beef spare ribs pig fatback jerky swine short ribs shankle chislic frankfurter pork loin. Chicken tri-tip bresaola t-bone pastrami brisket.", // swiftlint:disable:this line_length
|
||||
isDirect: false,
|
||||
isEncrypted: true,
|
||||
@ -289,7 +289,7 @@ struct RoomDetailsScreen_Previews: PreviewProvider {
|
||||
.mockDan
|
||||
]
|
||||
|
||||
let roomProxy = RoomProxyMock(with: .init(displayName: "DM Room",
|
||||
let roomProxy = RoomProxyMock(with: .init(id: "dm_room_id", displayName: "DM Room",
|
||||
topic: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
|
||||
isDirect: true,
|
||||
isEncrypted: true,
|
||||
@ -312,7 +312,7 @@ struct RoomDetailsScreen_Previews: PreviewProvider {
|
||||
.mockBob,
|
||||
.mockCharlie
|
||||
]
|
||||
let roomProxy = RoomProxyMock(with: .init(displayName: "Room A",
|
||||
let roomProxy = RoomProxyMock(with: .init(id: "simple_room_id", displayName: "Room A",
|
||||
isDirect: false,
|
||||
isEncrypted: false,
|
||||
members: members))
|
||||
|
@ -100,7 +100,7 @@ struct RoomMemberDetailsScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct RoomMemberDetailsScreen_Previews: PreviewProvider {
|
||||
struct RoomMemberDetailsScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let roomProxyMock = RoomProxyMock(with: .init(displayName: ""))
|
||||
static let otherUserViewModel = {
|
||||
let member = RoomMemberProxyMock.mockDan
|
||||
|
@ -74,7 +74,7 @@ struct RoomMembersListScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct RoomMembersListScreen_Previews: PreviewProvider {
|
||||
struct RoomMembersListScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = {
|
||||
let members: [RoomMemberProxyMock] = [
|
||||
.mockAlice,
|
||||
|
@ -46,7 +46,7 @@ struct RoomMembersListScreenMemberCell: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct RoomMembersListMemberCell_Previews: PreviewProvider {
|
||||
struct RoomMembersListMemberCell_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
let members: [RoomMemberProxyMock] = [
|
||||
.mockAlice,
|
||||
|
@ -37,7 +37,7 @@ struct RoomNotificationSettingsCustomSectionView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct RoomNotificationSettingsCustomSectionView_Previews: PreviewProvider {
|
||||
struct RoomNotificationSettingsCustomSectionView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = {
|
||||
let notificationSettingsProxy = NotificationSettingsProxyMock(with: .init(defaultRoomMode: .allMessages, roomMode: .mentionsAndKeywordsOnly))
|
||||
|
||||
|
@ -79,7 +79,7 @@ struct RoomNotificationSettingsScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct RoomNotificationSettingsScreen_Previews: PreviewProvider {
|
||||
struct RoomNotificationSettingsScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = {
|
||||
let notificationSettingsProxy = NotificationSettingsProxyMock(with: .init(defaultRoomMode: .mentionsAndKeywordsOnly, roomMode: .mentionsAndKeywordsOnly))
|
||||
|
||||
|
@ -48,7 +48,7 @@ struct RoomNotificationSettingsUserDefinedScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct RoomNotificationSettingsUserDefinedScreen_Previews: PreviewProvider {
|
||||
struct RoomNotificationSettingsUserDefinedScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = {
|
||||
let notificationSettingsProxy = NotificationSettingsProxyMock(with: .init(defaultRoomMode: .mentionsAndKeywordsOnly, roomMode: .mentionsAndKeywordsOnly))
|
||||
|
||||
|
@ -179,7 +179,7 @@ struct TimelineReplyView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineReplyView_Previews: PreviewProvider {
|
||||
struct TimelineReplyView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -47,7 +47,7 @@ struct RoomHeaderView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct RoomHeaderView_Previews: PreviewProvider {
|
||||
struct RoomHeaderView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
bodyPlain
|
||||
bodyEncrypted
|
||||
|
@ -163,7 +163,7 @@ struct RoomScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct RoomScreen_Previews: PreviewProvider {
|
||||
struct RoomScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel(timelineController: MockRoomTimelineController(),
|
||||
mediaProvider: MockMediaProvider(),
|
||||
roomProxy: RoomProxyMock(with: .init(displayName: "Preview room")),
|
||||
|
@ -62,7 +62,7 @@ extension View {
|
||||
}
|
||||
}
|
||||
|
||||
struct LongPressWithFeedback_Previews: PreviewProvider {
|
||||
struct LongPressWithFeedback_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View { Preview() }
|
||||
|
||||
struct Preview: View {
|
||||
|
@ -34,7 +34,7 @@ struct SwipeToReplyView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct SwipeToReplyView_Previews: PreviewProvider {
|
||||
struct SwipeToReplyView_Previews: PreviewProvider, TestablePreview {
|
||||
static let timelineItem = TextRoomTimelineItem(id: .init(timelineID: ""),
|
||||
timestamp: "",
|
||||
isOutgoing: true,
|
||||
|
@ -33,7 +33,7 @@ struct ThreadDecorator: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct ThreadDecorator_Previews: PreviewProvider {
|
||||
struct ThreadDecorator_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
ThreadDecorator()
|
||||
}
|
||||
|
@ -396,7 +396,7 @@ private extension EventBasedTimelineItemProtocol {
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineItemBubbledStylerView_Previews: PreviewProvider {
|
||||
struct TimelineItemBubbledStylerView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -140,7 +140,7 @@ struct TimelineItemPlainStylerView<Content: View>: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineItemPlainStylerView_Previews: PreviewProvider {
|
||||
struct TimelineItemPlainStylerView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
// These akwats include a reply
|
||||
|
@ -35,7 +35,7 @@ struct TimelineStyler<Content: View>: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineItemStyler_Previews: TestablePreviewProvider {
|
||||
struct TimelineItemStyler_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static let base = TextRoomTimelineItem(id: .random, timestamp: "Now", isOutgoing: true, isEditable: false, isThreaded: false, sender: .test, content: .init(body: "Test"))
|
||||
|
@ -148,7 +148,7 @@ private struct ReactionSummarySenderView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct ReactionsSummaryView_Previews: PreviewProvider {
|
||||
struct ReactionsSummaryView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
ReactionsSummaryView(reactions: AggregatedReaction.mockReactions,
|
||||
members: [:],
|
||||
|
@ -40,7 +40,7 @@ struct TimelineDeliveryStatusView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineDeliveryStatusView_Previews: PreviewProvider {
|
||||
struct TimelineDeliveryStatusView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
VStack {
|
||||
TimelineDeliveryStatusView(deliveryStatus: .sending)
|
||||
|
@ -190,7 +190,7 @@ struct TimelineReactionViewPreviewsContainer: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineReactionView_Previews: PreviewProvider {
|
||||
struct TimelineReactionView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
TimelineReactionViewPreviewsContainer()
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ struct TimelineReadReceiptsView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineReadReceiptsView_Previews: PreviewProvider {
|
||||
struct TimelineReadReceiptsView_Previews: PreviewProvider, TestablePreview {
|
||||
static let members: [RoomMemberProxyMock] = [
|
||||
.mockAlice,
|
||||
.mockBob,
|
||||
|
@ -111,7 +111,7 @@ extension View {
|
||||
}
|
||||
}
|
||||
|
||||
struct SwipeRightAction_Previews: PreviewProvider {
|
||||
struct SwipeRightAction_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View { Preview() }
|
||||
|
||||
struct Preview: View {
|
||||
|
@ -35,7 +35,7 @@ struct AudioRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct AudioRoomTimelineView_Previews: PreviewProvider {
|
||||
struct AudioRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -59,7 +59,7 @@ struct CollapsibleRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct CollapsibleRoomTimelineView_Previews: PreviewProvider {
|
||||
struct CollapsibleRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let item = CollapsibleTimelineItem(items: [
|
||||
SeparatorRoomTimelineItem(id: .init(timelineID: "First separator"), text: "This is a separator"),
|
||||
SeparatorRoomTimelineItem(id: .init(timelineID: "Second separator"), text: "This is another separator")
|
||||
|
@ -32,7 +32,7 @@ struct EmoteRoomTimelineView: View, TextBasedRoomTimelineViewProtocol {
|
||||
}
|
||||
}
|
||||
|
||||
struct EmoteRoomTimelineView_Previews: PreviewProvider {
|
||||
struct EmoteRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -53,7 +53,7 @@ private struct EncryptedHistoryLabelStyle: LabelStyle {
|
||||
}
|
||||
}
|
||||
|
||||
struct EncryptedHistoryRoomTimelineView_Previews: PreviewProvider {
|
||||
struct EncryptedHistoryRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
let item = EncryptedHistoryRoomTimelineItem(id: .random)
|
||||
EncryptedHistoryRoomTimelineView(timelineItem: item)
|
||||
|
@ -42,7 +42,7 @@ struct RoomTimelineViewLabelStyle: LabelStyle {
|
||||
}
|
||||
}
|
||||
|
||||
struct EncryptedRoomTimelineView_Previews: PreviewProvider {
|
||||
struct EncryptedRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -35,7 +35,7 @@ struct FileRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct FileRoomTimelineView_Previews: PreviewProvider {
|
||||
struct FileRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -164,7 +164,7 @@ struct FormattedBodyText: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct FormattedBodyText_Previews: PreviewProvider {
|
||||
struct FormattedBodyText_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
body
|
||||
body
|
||||
|
@ -55,7 +55,7 @@ struct ImageRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct ImageRoomTimelineView_Previews: PreviewProvider {
|
||||
struct ImageRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -82,7 +82,7 @@ private extension MapLibreStaticMapView {
|
||||
}
|
||||
}
|
||||
|
||||
struct LocationRoomTimelineView_Previews: PreviewProvider {
|
||||
struct LocationRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -43,7 +43,7 @@ struct NoticeRoomTimelineView: View, TextBasedRoomTimelineViewProtocol {
|
||||
}
|
||||
}
|
||||
|
||||
struct NoticeRoomTimelineView_Previews: PreviewProvider {
|
||||
struct NoticeRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -26,7 +26,7 @@ struct PaginationIndicatorRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct PaginationIndicatorRoomTimelineView_Previews: PreviewProvider {
|
||||
struct PaginationIndicatorRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
let item = PaginationIndicatorRoomTimelineItem()
|
||||
PaginationIndicatorRoomTimelineView(timelineItem: item)
|
||||
|
@ -80,7 +80,7 @@ private struct PollProgressView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct PollOptionView_Previews: PreviewProvider {
|
||||
struct PollOptionView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
VStack {
|
||||
Group {
|
||||
|
@ -117,7 +117,7 @@ private extension Poll {
|
||||
}
|
||||
}
|
||||
|
||||
struct PollRoomTimelineView_Previews: PreviewProvider {
|
||||
struct PollRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -35,7 +35,7 @@ struct ReadMarkerRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct ReadMarkerRoomTimelineView_Previews: PreviewProvider {
|
||||
struct ReadMarkerRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static let item = ReadMarkerRoomTimelineItem(id: .init(timelineID: .init(UUID().uuidString)))
|
||||
|
@ -29,7 +29,7 @@ struct RedactedRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct RedactedRoomTimelineView_Previews: PreviewProvider {
|
||||
struct RedactedRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -29,7 +29,7 @@ struct SeparatorRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct SeparatorRoomTimelineView_Previews: PreviewProvider {
|
||||
struct SeparatorRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
let item = SeparatorRoomTimelineItem(id: .init(timelineID: "Separator"), text: "This is a separator")
|
||||
SeparatorRoomTimelineView(timelineItem: item)
|
||||
|
@ -30,7 +30,7 @@ struct StateRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct StateRoomTimelineView_Previews: PreviewProvider {
|
||||
struct StateRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
body
|
||||
body
|
||||
|
@ -47,7 +47,7 @@ struct StickerRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct StickerRoomTimelineView_Previews: PreviewProvider {
|
||||
struct StickerRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -36,7 +36,7 @@ struct TextRoomTimelineView: View, TextBasedRoomTimelineViewProtocol {
|
||||
}
|
||||
}
|
||||
|
||||
struct TextRoomTimelineView_Previews: PreviewProvider {
|
||||
struct TextRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -36,7 +36,7 @@ struct TimelineStartRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineStartRoomTimelineView_Previews: PreviewProvider {
|
||||
struct TimelineStartRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
let item = TimelineStartRoomTimelineItem(name: "Alice and Bob")
|
||||
TimelineStartRoomTimelineView(timelineItem: item)
|
||||
|
@ -79,7 +79,7 @@ struct UITimelineView: UIViewControllerRepresentable {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct UITimelineView_Previews: PreviewProvider {
|
||||
struct UITimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel(timelineController: MockRoomTimelineController(),
|
||||
mediaProvider: MockMediaProvider(),
|
||||
roomProxy: RoomProxyMock(with: .init(displayName: "Preview room")),
|
||||
|
@ -38,7 +38,7 @@ struct UnsupportedRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct UnsupportedRoomTimelineView_Previews: PreviewProvider {
|
||||
struct UnsupportedRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -67,7 +67,7 @@ struct VideoRoomTimelineView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct VideoRoomTimelineView_Previews: PreviewProvider {
|
||||
struct VideoRoomTimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -97,7 +97,7 @@ struct TimelineItemDebugView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineItemDebugView_Previews: PreviewProvider {
|
||||
struct TimelineItemDebugView_Previews: PreviewProvider, TestablePreview {
|
||||
static let smallContent = """
|
||||
{
|
||||
SomeItem(
|
||||
|
@ -286,7 +286,7 @@ public struct TimelineItemMenu: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct TimelineItemMenu_Previews: PreviewProvider {
|
||||
struct TimelineItemMenu_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel.mock
|
||||
|
||||
static var previews: some View {
|
||||
|
@ -167,7 +167,7 @@ struct TimelineView: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct TimelineView_Previews: PreviewProvider {
|
||||
struct TimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
static let viewModel = RoomScreenViewModel(timelineController: MockRoomTimelineController(),
|
||||
mediaProvider: MockMediaProvider(),
|
||||
roomProxy: RoomProxyMock(with: .init(displayName: "Preview room")),
|
||||
|
@ -228,7 +228,7 @@ struct SessionVerificationScreen: View {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct SessionVerification_Previews: PreviewProvider {
|
||||
struct SessionVerification_Previews: PreviewProvider, TestablePreview {
|
||||
static var previews: some View {
|
||||
sessionVerificationScreen(state: .initial)
|
||||
.previewDisplayName("Initial")
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user