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()))