From 0c7a420d16e1715ca9de2ff5af73594bb10c6c6a Mon Sep 17 00:00:00 2001 From: David Perez Date: Tue, 19 Dec 2023 15:02:16 -0600 Subject: [PATCH] Fix broken dao fake implementations (#420) --- .../data/vault/datasource/disk/dao/FakeCiphersDao.kt | 9 ++++++--- .../data/vault/datasource/disk/dao/FakeCollectionsDao.kt | 9 ++++++--- .../data/vault/datasource/disk/dao/FakeFoldersDao.kt | 9 ++++++--- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeCiphersDao.kt b/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeCiphersDao.kt index 222016c488..29ffc23674 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeCiphersDao.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeCiphersDao.kt @@ -20,10 +20,12 @@ class FakeCiphersDao : CiphersDao { ciphersFlow.tryEmit(emptyList()) } - override suspend fun deleteAllCiphers(userId: String) { + override suspend fun deleteAllCiphers(userId: String): Int { deleteCiphersCalled = true + val count = storedCiphers.count { it.userId == userId } storedCiphers.removeAll { it.userId == userId } ciphersFlow.tryEmit(storedCiphers.toList()) + return count } override fun getAllCiphers(userId: String): Flow> = @@ -34,9 +36,10 @@ class FakeCiphersDao : CiphersDao { ciphersFlow.tryEmit(ciphers.toList()) } - override suspend fun replaceAllCiphers(userId: String, ciphers: List) { - storedCiphers.removeAll { it.userId == userId } + override suspend fun replaceAllCiphers(userId: String, ciphers: List): Boolean { + val removed = storedCiphers.removeAll { it.userId == userId } storedCiphers.addAll(ciphers) ciphersFlow.tryEmit(ciphers.toList()) + return removed || ciphers.isNotEmpty() } } diff --git a/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeCollectionsDao.kt b/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeCollectionsDao.kt index 68ea5788fd..8444e6205f 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeCollectionsDao.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeCollectionsDao.kt @@ -21,10 +21,12 @@ class FakeCollectionsDao : CollectionsDao { collectionsFlow.tryEmit(emptyList()) } - override suspend fun deleteAllCollections(userId: String) { + override suspend fun deleteAllCollections(userId: String): Int { deleteCollectionsCalled = true + val count = storedCollections.count { it.userId == userId } storedCollections.removeAll { it.userId == userId } collectionsFlow.tryEmit(storedCollections.toList()) + return count } override suspend fun deleteCollection(userId: String, collectionId: String) { @@ -49,9 +51,10 @@ class FakeCollectionsDao : CollectionsDao { override suspend fun replaceAllCollections( userId: String, collections: List, - ) { - storedCollections.removeAll { it.userId == userId } + ): Boolean { + val removed = storedCollections.removeAll { it.userId == userId } storedCollections.addAll(collections) collectionsFlow.tryEmit(storedCollections.toList()) + return removed || collections.isNotEmpty() } } diff --git a/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeFoldersDao.kt b/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeFoldersDao.kt index d82cf38463..218d28c320 100644 --- a/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeFoldersDao.kt +++ b/app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/disk/dao/FakeFoldersDao.kt @@ -21,10 +21,12 @@ class FakeFoldersDao : FoldersDao { foldersFlow.tryEmit(emptyList()) } - override suspend fun deleteAllFolders(userId: String) { + override suspend fun deleteAllFolders(userId: String): Int { deleteFoldersCalled = true + val count = storedFolders.count { it.userId == userId } storedFolders.removeAll { it.userId == userId } foldersFlow.tryEmit(storedFolders.toList()) + return count } override suspend fun deleteFolder(userId: String, folderId: String) { @@ -46,9 +48,10 @@ class FakeFoldersDao : FoldersDao { foldersFlow.tryEmit(storedFolders.toList()) } - override suspend fun replaceAllFolders(userId: String, folders: List) { - storedFolders.removeAll { it.userId == userId } + override suspend fun replaceAllFolders(userId: String, folders: List): Boolean { + val removed = storedFolders.removeAll { it.userId == userId } storedFolders.addAll(folders) foldersFlow.tryEmit(storedFolders.toList()) + return removed || folders.isNotEmpty() } }