diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt index 21f0ceda31..0069774c8d 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt @@ -1049,9 +1049,15 @@ class VaultItemListingViewModel @Inject constructor( } private fun handleSearchIconClick() { + val searchType = if (state.autofillSelectionData != null) { + SearchType.Vault.All + } else { + state.itemListingType.toSearchType() + } + sendEvent( event = VaultItemListingEvent.NavigateToSearchScreen( - searchType = state.itemListingType.toSearchType(), + searchType = searchType, ), ) } diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt index 97189f1e32..fb818ce532 100644 --- a/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt @@ -339,6 +339,24 @@ class VaultItemListingViewModelTest : BaseViewModelTest() { } } + @Test + fun `SearchIconClick should emit NavigateToVaultSearchScreen with all search type`() = runTest { + specialCircumstanceManager.specialCircumstance = SpecialCircumstance.AutofillSelection( + autofillSelectionData = AutofillSelectionData( + framework = AutofillSelectionData.Framework.ACCESSIBILITY, + type = AutofillSelectionData.Type.LOGIN, + uri = null, + ), + shouldFinishWhenComplete = false, + ) + val searchType = SearchType.Vault.All + val viewModel = createVaultItemListingViewModel() + viewModel.eventFlow.test { + viewModel.trySendAction(VaultItemListingsAction.SearchIconClick) + assertEquals(VaultItemListingEvent.NavigateToSearchScreen(searchType), awaitItem()) + } + } + @Test fun `LockClick should call lockVaultForCurrentUser`() { every { vaultRepository.lockVaultForCurrentUser() } just runs