Preview Tests (#1768)

* preview testing

* removed some views that are not really testabl in UnitTests and improved other tests
This commit is contained in:
Mauro
2023-09-20 17:33:31 +02:00
committed by GitHub
parent 612a28b7e2
commit 9d91cd4fc0
294 changed files with 1312 additions and 121 deletions
@@ -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)
+1 -1
View File
@@ -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 {
+1 -1
View File
@@ -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")
@@ -46,7 +46,7 @@ struct AnalyticsSettingsScreen: View {
// MARK: - Previews
struct AnalyticsSettingsScreen_Previews: PreviewProvider {
struct AnalyticsSettingsScreen_Previews: PreviewProvider, TestablePreview {
static var previews: some View {
let appSettings = AppSettings()
let viewModel = AnalyticsSettingsScreenViewModel(appSettings: appSettings,
@@ -54,7 +54,7 @@ private extension TimelineStyle {
// MARK: - Previews
struct AdvancedSettingsScreen_Previews: PreviewProvider {
struct AdvancedSettingsScreen_Previews: PreviewProvider, TestablePreview {
static let viewModel = AdvancedSettingsScreenViewModel(advancedSettings: ServiceLocator.shared.settings)
static var previews: some View {
NavigationStack {

Some files were not shown because too many files have changed in this diff Show More