From 64ddc2472003375d2078fe06a9ad84de649aecee Mon Sep 17 00:00:00 2001 From: lisa-signal Date: Fri, 6 Jun 2025 14:00:36 -0400 Subject: [PATCH] Add test case for folder without chat. --- .../database/ChatFolderTablesTest.kt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/database/ChatFolderTablesTest.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/database/ChatFolderTablesTest.kt index 7969c442a2..8201f76ff3 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/database/ChatFolderTablesTest.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/database/ChatFolderTablesTest.kt @@ -41,6 +41,7 @@ class ChatFolderTablesTest { private lateinit var folder1: ChatFolderRecord private lateinit var folder2: ChatFolderRecord private lateinit var folder3: ChatFolderRecord + private lateinit var folder4: ChatFolderRecord private lateinit var recipientIds: List @@ -99,6 +100,18 @@ class ChatFolderTablesTest { storageServiceId = StorageId.forChatFolder(byteArrayOf(3, 4, 5)) ) + folder4 = ChatFolderRecord( + name = "folder4", + position = 4, + excludedChats = listOf(aliceThread, charlieThread), + showUnread = true, + showMutedChats = true, + showGroupChats = true, + folderType = ChatFolderRecord.FolderType.UNREAD, + chatFolderId = ChatFolderId.generate(), + storageServiceId = StorageId.forChatFolder(byteArrayOf(4, 5, 6)) + ) + SignalDatabase.chatFolders.writableDatabase.deleteAll(ChatFolderTables.ChatFolderTable.TABLE_NAME) SignalDatabase.chatFolders.writableDatabase.deleteAll(ChatFolderTables.ChatFolderMembershipTable.TABLE_NAME) } @@ -200,6 +213,16 @@ class ChatFolderTablesTest { } } + @Test + fun givenAnEmptyFolder_whenIGetItsEmptyStatus_thenIExpectTrue() { + SignalDatabase.chatFolders.createFolder(folder4) + val actualFolders = SignalDatabase.chatFolders.getCurrentChatFolders() + val unreadCountAndEmptyAndMutedStatus = SignalDatabase.chatFolders.getUnreadCountAndEmptyAndMutedStatusForFolders(actualFolders) + val actualFolderIsEmpty = unreadCountAndEmptyAndMutedStatus[actualFolders.first().id]?.second + + assertEquals(true, actualFolderIsEmpty) + } + private fun createRecipients(count: Int): List { return (1..count).map { SignalDatabase.recipients.getOrInsertFromServiceId(ACI.from(UUID.randomUUID()))