Skip to content

Commit 3ad1093

Browse files
committed
Middle ground, placeholder and counter
Fixes: thunderbird#9056 (+1 squashed commit) Squashed commits: [ade7fcb] Adjust fix for testing Fixes: thunderbird#9056
1 parent 865f6c7 commit 3ad1093

File tree

2 files changed

+19
-14
lines changed

2 files changed

+19
-14
lines changed

feature/navigation/drawer/dropdown/src/main/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolder.kt

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package net.thunderbird.feature.navigation.drawer.dropdown.domain.usecase
22

33
import app.k9mail.core.mail.folder.api.Folder
44
import app.k9mail.core.mail.folder.api.FolderType
5-
import java.util.UUID
65
import kotlinx.collections.immutable.persistentListOf
76
import kotlinx.collections.immutable.toImmutableList
87
import net.thunderbird.feature.navigation.drawer.dropdown.domain.DomainContract.UseCase
@@ -12,6 +11,7 @@ import net.thunderbird.feature.navigation.drawer.dropdown.domain.entity.DisplayT
1211
import net.thunderbird.feature.navigation.drawer.dropdown.domain.entity.DisplayUnifiedFolder
1312

1413
internal class GetDisplayTreeFolder : UseCase.GetDisplayTreeFolder {
14+
private var placeholderCounter = 0L
1515

1616
override fun invoke(folders: List<DisplayFolder>, maxDepth: Int): DisplayTreeFolder {
1717
val unifiedFolderTreeList = folders.filterIsInstance<DisplayUnifiedFolder>().map {
@@ -88,10 +88,11 @@ internal class GetDisplayTreeFolder : UseCase.GetDisplayTreeFolder {
8888
}
8989

9090
private fun createPlaceholderFolder(name: String): DisplayAccountFolder {
91+
placeholderCounter += 1
9192
return DisplayAccountFolder(
92-
accountId = "accountId",
93+
accountId = "placeholder",
9394
folder = Folder(
94-
id = UUID.randomUUID().mostSignificantBits,
95+
id = placeholderCounter,
9596
name = name,
9697
type = FolderType.REGULAR,
9798
isLocalOnly = false,

feature/navigation/drawer/dropdown/src/test/kotlin/net/thunderbird/feature/navigation/drawer/dropdown/domain/usecase/GetDisplayTreeFolderTest.kt

+15-11
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,9 @@ class GetDisplayTreeFolderTest {
199199
children = persistentListOf(
200200
DisplayTreeFolder(
201201
displayFolder = DisplayAccountFolder(
202-
accountId = "accountId",
202+
accountId = "placeholder",
203203
folder = Folder(
204-
id = 0,
204+
id = 1L,
205205
name = "(Unnamed)/(Unnamed)",
206206
type = FolderType.REGULAR,
207207
isLocalOnly = false,
@@ -238,8 +238,8 @@ class GetDisplayTreeFolderTest {
238238
),
239239
DisplayTreeFolder(
240240
displayFolder = DisplayAccountFolder(
241-
accountId = "accountId",
242-
folder = Folder(id = 0, name = "valid1", type = FolderType.REGULAR, isLocalOnly = false),
241+
accountId = "placeholder",
242+
folder = Folder(id = 2, name = "valid1", type = FolderType.REGULAR, isLocalOnly = false),
243243
isInTopGroup = true,
244244
unreadMessageCount = 0,
245245
starredMessageCount = 0,
@@ -250,9 +250,9 @@ class GetDisplayTreeFolderTest {
250250
children = persistentListOf(
251251
DisplayTreeFolder(
252252
displayFolder = DisplayAccountFolder(
253-
accountId = "accountId",
253+
accountId = "placeholder",
254254
folder = Folder(
255-
id = 0,
255+
id = 3L,
256256
name = "valid1/(Unnamed)",
257257
type = FolderType.REGULAR,
258258
isLocalOnly = false,
@@ -321,7 +321,8 @@ class GetDisplayTreeFolderTest {
321321
children = persistentListOf(
322322
createDisplayTreeFolder(
323323
displayFolder = createDisplayAccountFolder(
324-
folderId = 0L,
324+
accountId = "placeholder",
325+
folderId = 1L,
325326
folderName = "folderLevel1",
326327
unreadMessageCount = 0,
327328
starredMessageCount = 0,
@@ -379,7 +380,8 @@ class GetDisplayTreeFolderTest {
379380
children = persistentListOf(
380381
createDisplayTreeFolder(
381382
displayFolder = createDisplayAccountFolder(
382-
folderId = 0,
383+
accountId = "placeholder",
384+
folderId = 1,
383385
folderName = "level1",
384386
unreadMessageCount = 0,
385387
starredMessageCount = 0,
@@ -390,7 +392,8 @@ class GetDisplayTreeFolderTest {
390392
children = persistentListOf(
391393
createDisplayTreeFolder(
392394
displayFolder = createDisplayAccountFolder(
393-
folderId = 0,
395+
accountId = "placeholder",
396+
folderId = 2L,
394397
folderName = "level1/level2",
395398
unreadMessageCount = 0,
396399
starredMessageCount = 0,
@@ -427,9 +430,10 @@ class GetDisplayTreeFolderTest {
427430
folderName: String,
428431
unreadMessageCount: Int,
429432
starredMessageCount: Int,
430-
): DisplayAccountFolder {
433+
accountId: String = "accountId",
434+
): DisplayAccountFolder {
431435
return DisplayAccountFolder(
432-
accountId = "accountId",
436+
accountId = accountId,
433437
folder = Folder(
434438
id = folderId,
435439
name = folderName,

0 commit comments

Comments
 (0)