diff --git a/feature/navigation/drawer/dropdown/src/main/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolder.kt b/feature/navigation/drawer/dropdown/src/main/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolder.kt index 8521110d517..0fa8648b52f 100644 --- a/feature/navigation/drawer/dropdown/src/main/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolder.kt +++ b/feature/navigation/drawer/dropdown/src/main/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolder.kt @@ -11,6 +11,7 @@ import net.thunderbird.feature.navigation.drawer.dropdown.domain.entity.DisplayT import net.thunderbird.feature.navigation.drawer.dropdown.domain.entity.DisplayUnifiedFolder internal class GetDisplayTreeFolder : UseCase.GetDisplayTreeFolder { + private var placeholderCounter = 0L override fun invoke(folders: List, maxDepth: Int): DisplayTreeFolder { val unifiedFolderTreeList = folders.filterIsInstance().map { @@ -49,7 +50,7 @@ internal class GetDisplayTreeFolder : UseCase.GetDisplayTreeFolder { } } - fun buildAccountFolderTree( + private fun buildAccountFolderTree( paths: List, DisplayAccountFolder>>, parentPath: String = "", ): List { @@ -87,10 +88,11 @@ internal class GetDisplayTreeFolder : UseCase.GetDisplayTreeFolder { } private fun createPlaceholderFolder(name: String): DisplayAccountFolder { + placeholderCounter += 1 return DisplayAccountFolder( - accountId = "accountId", + accountId = "placeholder", folder = Folder( - id = 0L, + id = placeholderCounter, name = name, type = FolderType.REGULAR, isLocalOnly = false, diff --git a/feature/navigation/drawer/dropdown/src/test/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolderTest.kt b/feature/navigation/drawer/dropdown/src/test/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolderTest.kt index ddbfa8c99f4..2aee38cefa7 100644 --- a/feature/navigation/drawer/dropdown/src/test/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolderTest.kt +++ b/feature/navigation/drawer/dropdown/src/test/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolderTest.kt @@ -199,9 +199,9 @@ class GetDisplayTreeFolderTest { children = persistentListOf( DisplayTreeFolder( displayFolder = DisplayAccountFolder( - accountId = "accountId", + accountId = "placeholder", folder = Folder( - id = 0, + id = 1L, name = "(Unnamed)/(Unnamed)", type = FolderType.REGULAR, isLocalOnly = false, @@ -238,8 +238,8 @@ class GetDisplayTreeFolderTest { ), DisplayTreeFolder( displayFolder = DisplayAccountFolder( - accountId = "accountId", - folder = Folder(id = 0, name = "valid1", type = FolderType.REGULAR, isLocalOnly = false), + accountId = "placeholder", + folder = Folder(id = 2, name = "valid1", type = FolderType.REGULAR, isLocalOnly = false), isInTopGroup = true, unreadMessageCount = 0, starredMessageCount = 0, @@ -250,9 +250,9 @@ class GetDisplayTreeFolderTest { children = persistentListOf( DisplayTreeFolder( displayFolder = DisplayAccountFolder( - accountId = "accountId", + accountId = "placeholder", folder = Folder( - id = 0, + id = 3L, name = "valid1/(Unnamed)", type = FolderType.REGULAR, isLocalOnly = false, @@ -321,7 +321,8 @@ class GetDisplayTreeFolderTest { children = persistentListOf( createDisplayTreeFolder( displayFolder = createDisplayAccountFolder( - folderId = 0L, + accountId = "placeholder", + folderId = 1L, folderName = "folderLevel1", unreadMessageCount = 0, starredMessageCount = 0, @@ -379,7 +380,8 @@ class GetDisplayTreeFolderTest { children = persistentListOf( createDisplayTreeFolder( displayFolder = createDisplayAccountFolder( - folderId = 0, + accountId = "placeholder", + folderId = 1, folderName = "level1", unreadMessageCount = 0, starredMessageCount = 0, @@ -390,7 +392,8 @@ class GetDisplayTreeFolderTest { children = persistentListOf( createDisplayTreeFolder( displayFolder = createDisplayAccountFolder( - folderId = 0, + accountId = "placeholder", + folderId = 2L, folderName = "level1/level2", unreadMessageCount = 0, starredMessageCount = 0, @@ -427,9 +430,10 @@ class GetDisplayTreeFolderTest { folderName: String, unreadMessageCount: Int, starredMessageCount: Int, + accountId: String = "accountId", ): DisplayAccountFolder { return DisplayAccountFolder( - accountId = "accountId", + accountId = accountId, folder = Folder( id = folderId, name = folderName,