Add test case for folder without chat.

This commit is contained in:
lisa-signal
2025-06-06 14:00:36 -04:00
committed by Greyson Parrelli
parent f9ee222d5d
commit 64ddc24720

View File

@@ -41,6 +41,7 @@ class ChatFolderTablesTest {
private lateinit var folder1: ChatFolderRecord private lateinit var folder1: ChatFolderRecord
private lateinit var folder2: ChatFolderRecord private lateinit var folder2: ChatFolderRecord
private lateinit var folder3: ChatFolderRecord private lateinit var folder3: ChatFolderRecord
private lateinit var folder4: ChatFolderRecord
private lateinit var recipientIds: List<RecipientId> private lateinit var recipientIds: List<RecipientId>
@@ -99,6 +100,18 @@ class ChatFolderTablesTest {
storageServiceId = StorageId.forChatFolder(byteArrayOf(3, 4, 5)) 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.ChatFolderTable.TABLE_NAME)
SignalDatabase.chatFolders.writableDatabase.deleteAll(ChatFolderTables.ChatFolderMembershipTable.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<RecipientId> { private fun createRecipients(count: Int): List<RecipientId> {
return (1..count).map { return (1..count).map {
SignalDatabase.recipients.getOrInsertFromServiceId(ACI.from(UUID.randomUUID())) SignalDatabase.recipients.getOrInsertFromServiceId(ACI.from(UUID.randomUUID()))