From e16ad44d5eed59c6948ecc1aaca612d4c6e15bf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bispo?= Date: Thu, 13 Mar 2025 11:33:12 +0000 Subject: [PATCH] [PM-17242] While on autofill search on all item types. (#4824) --- .../itemlisting/VaultItemListingViewModel.kt | 8 +++++++- .../VaultItemListingViewModelTest.kt | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) 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