Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1efcfb5 authored by Saalim Quadri's avatar Saalim Quadri Committed by Nishith Khanna
Browse files

feat: Fixup search List state

parent bceff7f2
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -144,7 +144,10 @@ class SearchViewModelV2 @Inject constructor(

    fun onQueryChanged(newQuery: String) {
        _uiState.update { current ->
            current.copy(query = newQuery)
            current.copy(
                query = newQuery,
                hasSubmittedSearch = if (newQuery.isNotBlank()) false else current.hasSubmittedSearch,
            )
        }

        suggestionJob?.cancel()
+12 −0
Original line number Diff line number Diff line
@@ -206,6 +206,18 @@ class SearchViewModelV2Test {
        assertEquals("", state.query)
    }

    @Test
    fun `typing after submit resets hasSubmittedSearch`() = runTest {
        viewModel.onSearchSubmitted("query")
        assertTrue(viewModel.uiState.value.hasSubmittedSearch)

        viewModel.onQueryChanged("new")

        val state = viewModel.uiState.value
        assertFalse(state.hasSubmittedSearch)
        assertEquals("new", state.query)
    }

    @Test
    fun `clear query after submit retains tabs and results`() = runTest {
        viewModel.onSearchSubmitted("query")