diff --git a/app/src/main/java/com/x8bit/bitwarden/data/vault/repository/VaultRepositoryImpl.kt b/app/src/main/java/com/x8bit/bitwarden/data/vault/repository/VaultRepositoryImpl.kt index 3fd37fb5e0..677f8b501b 100644 --- a/app/src/main/java/com/x8bit/bitwarden/data/vault/repository/VaultRepositoryImpl.kt +++ b/app/src/main/java/com/x8bit/bitwarden/data/vault/repository/VaultRepositoryImpl.kt @@ -1231,7 +1231,7 @@ class VaultRepositoryImpl( .firstOrNull() .orEmpty() .map { it.toEncryptedSdkCipher() } - .filter { it.collectionIds.isEmpty() } + .filter { it.collectionIds.isEmpty() && it.deletedDate == null } return vaultSdkSource .exportVaultDataToString( diff --git a/app/src/test/java/com/x8bit/bitwarden/data/vault/repository/VaultRepositoryTest.kt b/app/src/test/java/com/x8bit/bitwarden/data/vault/repository/VaultRepositoryTest.kt index 4f6d8d7069..a7df307880 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/vault/repository/VaultRepositoryTest.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/vault/repository/VaultRepositoryTest.kt @@ -5460,9 +5460,16 @@ class VaultRepositoryTest { fakeAuthDiskSource.userState = MOCK_USER_STATE val userId = "mockId-1" + val userCipher = createMockCipher(1).copy( + collectionIds = null, + deletedDate = null, + ) + val deletedCipher = createMockCipher(2).copy(collectionIds = null) + val orgCipher = createMockCipher(3).copy(deletedDate = null) + coEvery { vaultDiskSource.getCiphers(userId) - } returns flowOf(listOf(createMockCipher(1))) + } returns flowOf(listOf(userCipher, deletedCipher, orgCipher)) coEvery { vaultDiskSource.getFolders(userId) @@ -5475,6 +5482,15 @@ class VaultRepositoryTest { val expected = ExportVaultDataResult.Success(vaultData = "TestResult") val result = vaultRepository.exportVaultDataToString(format = format) + coVerify { + vaultSdkSource.exportVaultDataToString( + userId = userId, + ciphers = listOf(userCipher.toEncryptedSdkCipher()), + folders = listOf(createMockSdkFolder(1)), + format = ExportFormat.Json, + ) + } + assertEquals( expected, result,