diff --git a/ElementX/Sources/Mocks/ComposerDraftServiceMock.swift b/ElementX/Sources/Mocks/ComposerDraftServiceMock.swift index cfdd7d6c2..6aff0121f 100644 --- a/ElementX/Sources/Mocks/ComposerDraftServiceMock.swift +++ b/ElementX/Sources/Mocks/ComposerDraftServiceMock.swift @@ -16,5 +16,6 @@ extension ComposerDraftServiceMock { self.init() loadDraftReturnValue = .success(config.draft) saveDraftReturnValue = .success(()) + clearDraftReturnValue = .success(()) } } diff --git a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/ComposerToolbar.swift b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/ComposerToolbar.swift index 8e34a779f..d7f8089cf 100644 --- a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/ComposerToolbar.swift +++ b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/ComposerToolbar.swift @@ -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 } diff --git a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/RoomAttachmentPicker.swift b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/RoomAttachmentPicker.swift index 45bc71185..2bb054735 100644 --- a/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/RoomAttachmentPicker.swift +++ b/ElementX/Sources/Screens/RoomScreen/ComposerToolbar/View/RoomAttachmentPicker.swift @@ -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) diff --git a/UnitTests/Sources/ComposerToolbarViewModelTests.swift b/UnitTests/Sources/ComposerToolbarViewModelTests.swift index 0a48fc8a1..cecc4cafe 100644 --- a/UnitTests/Sources/ComposerToolbarViewModelTests.swift +++ b/UnitTests/Sources/ComposerToolbarViewModelTests.swift @@ -787,7 +787,7 @@ class ComposerToolbarViewModelTests: XCTestCase { private func setUpViewModel(initialText: String? = nil, loadDraftClosure: (() async -> Result)? = nil) { wysiwygViewModel = WysiwygComposerViewModel() completionSuggestionServiceMock = CompletionSuggestionServiceMock(configuration: .init()) - draftServiceMock = ComposerDraftServiceMock() + draftServiceMock = ComposerDraftServiceMock(.init()) if let loadDraftClosure { draftServiceMock.loadDraftClosure = loadDraftClosure }