Fix preview test crashes when accessing misconfigured draft service mocks

This commit is contained in:
Stefan Ceriu
2025-06-13 17:42:40 +03:00
parent 57978c9a9c
commit 9b8e28e593
4 changed files with 10 additions and 9 deletions

View File

@@ -16,5 +16,6 @@ extension ComposerDraftServiceMock {
self.init()
loadDraftReturnValue = .success(config.draft)
saveDraftReturnValue = .success(())
clearDraftReturnValue = .success(())
}
}

View File

@@ -327,7 +327,7 @@ struct ComposerToolbar_Previews: PreviewProvider, TestablePreview {
mentionDisplayHelper: ComposerMentionDisplayHelper.mock,
appSettings: ServiceLocator.shared.settings,
analyticsService: ServiceLocator.shared.analytics,
composerDraftService: ComposerDraftServiceMock())
composerDraftService: ComposerDraftServiceMock(.init()))
static let suggestions: [SuggestionItem] = [
.init(suggestionType: .user(.init(id: "@user_mention_1:matrix.org", displayName: "User 1", avatarURL: nil)), range: .init(), rawSuggestionText: ""),
@@ -377,7 +377,7 @@ extension ComposerToolbar {
mentionDisplayHelper: ComposerMentionDisplayHelper.mock,
appSettings: ServiceLocator.shared.settings,
analyticsService: ServiceLocator.shared.analytics,
composerDraftService: ComposerDraftServiceMock())
composerDraftService: ComposerDraftServiceMock(.init()))
model.state.composerEmpty = focused
return model
}
@@ -394,7 +394,7 @@ extension ComposerToolbar {
mentionDisplayHelper: ComposerMentionDisplayHelper.mock,
appSettings: ServiceLocator.shared.settings,
analyticsService: ServiceLocator.shared.analytics,
composerDraftService: ComposerDraftServiceMock())
composerDraftService: ComposerDraftServiceMock(.init()))
model.state.composerEmpty = focused
return model
}
@@ -411,7 +411,7 @@ extension ComposerToolbar {
mentionDisplayHelper: ComposerMentionDisplayHelper.mock,
appSettings: ServiceLocator.shared.settings,
analyticsService: ServiceLocator.shared.analytics,
composerDraftService: ComposerDraftServiceMock())
composerDraftService: ComposerDraftServiceMock(.init()))
model.state.composerMode = .recordVoiceMessage(state: AudioRecorderState())
return model
}
@@ -429,7 +429,7 @@ extension ComposerToolbar {
mentionDisplayHelper: ComposerMentionDisplayHelper.mock,
appSettings: ServiceLocator.shared.settings,
analyticsService: ServiceLocator.shared.analytics,
composerDraftService: ComposerDraftServiceMock())
composerDraftService: ComposerDraftServiceMock(.init()))
model.state.composerMode = .previewVoiceMessage(state: AudioPlayerState(id: .recorderPreview,
title: L10n.commonVoiceMessage,
duration: 10.0),
@@ -450,7 +450,7 @@ extension ComposerToolbar {
mentionDisplayHelper: ComposerMentionDisplayHelper.mock,
appSettings: ServiceLocator.shared.settings,
analyticsService: ServiceLocator.shared.analytics,
composerDraftService: ComposerDraftServiceMock())
composerDraftService: ComposerDraftServiceMock(.init()))
model.state.composerMode = isLoading ? .reply(eventID: UUID().uuidString,
replyDetails: .loading(eventID: ""),
isThread: false) :
@@ -473,7 +473,7 @@ extension ComposerToolbar {
mentionDisplayHelper: ComposerMentionDisplayHelper.mock,
appSettings: ServiceLocator.shared.settings,
analyticsService: ServiceLocator.shared.analytics,
composerDraftService: ComposerDraftServiceMock())
composerDraftService: ComposerDraftServiceMock(.init()))
model.state.canSend = false
return model
}

View File

@@ -97,7 +97,7 @@ struct RoomAttachmentPicker_Previews: PreviewProvider, TestablePreview {
mentionDisplayHelper: ComposerMentionDisplayHelper.mock,
appSettings: ServiceLocator.shared.settings,
analyticsService: ServiceLocator.shared.analytics,
composerDraftService: ComposerDraftServiceMock())
composerDraftService: ComposerDraftServiceMock(.init()))
static var previews: some View {
RoomAttachmentPicker(context: viewModel.context)

View File

@@ -787,7 +787,7 @@ class ComposerToolbarViewModelTests: XCTestCase {
private func setUpViewModel(initialText: String? = nil, loadDraftClosure: (() async -> Result<ComposerDraftProxy?, ComposerDraftServiceError>)? = nil) {
wysiwygViewModel = WysiwygComposerViewModel()
completionSuggestionServiceMock = CompletionSuggestionServiceMock(configuration: .init())
draftServiceMock = ComposerDraftServiceMock()
draftServiceMock = ComposerDraftServiceMock(.init())
if let loadDraftClosure {
draftServiceMock.loadDraftClosure = loadDraftClosure
}