diff --git a/iphone/Maps/Tests/UI/SearchOnMapTests/SearchOnMapTests.swift b/iphone/Maps/Tests/UI/SearchOnMapTests/SearchOnMapTests.swift index 3ceeae861..86140be75 100644 --- a/iphone/Maps/Tests/UI/SearchOnMapTests/SearchOnMapTests.swift +++ b/iphone/Maps/Tests/UI/SearchOnMapTests/SearchOnMapTests.swift @@ -219,8 +219,9 @@ final class SearchOnMapTests: XCTestCase { interactor.handle(.didSelectResult(result, withQuery: query)) XCTAssertEqual(view.viewModel.searchingText, "cafe") + XCTAssertEqual(view.viewModel.presentationStep, .fullScreen) XCTAssertEqual(view.viewModel.contentState, .searching) - XCTAssertEqual(view.viewModel.isTyping, false) + XCTAssertEqual(view.viewModel.isTyping, true) } func test_GivenSearchIsActive_WhenPasteDeeplink_ThenShowResult() { @@ -235,6 +236,7 @@ final class SearchOnMapTests: XCTestCase { interactor.onSearchCompleted() XCTAssertEqual(view.viewModel.contentState, .results(results)) + XCTAssertEqual(view.viewModel.presentationStep, .halfScreen) XCTAssertEqual(view.viewModel.isTyping, false) // No typing when deeplink is used } } diff --git a/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift b/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift index 6ce14565e..4d8978a36 100644 --- a/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift +++ b/iphone/Maps/UI/Search/SearchOnMap/SearchOnMapPresenter.swift @@ -78,8 +78,16 @@ final class SearchOnMapPresenter { viewModel.skipSuggestions = false viewModel.searchingText = query.text viewModel.contentState = .searching - viewModel.isTyping = false - viewModel.presentationStep = isRouting ? .hidden : .halfScreen + + switch query.source { + case .typedText, .suggestion: + viewModel.isTyping = true + case .category, .deeplink: + viewModel.isTyping = false + viewModel.presentationStep = isRouting ? .hidden : .halfScreen + @unknown default: + fatalError("Unknown search text source") + } case .clearSearch: viewModel.searchingText = "" viewModel.isTyping = true