Skip to content

Commit a76d132

Browse files
committed
refactor:adjust tests for PrivacySettings
1 parent acd42a3 commit a76d132

File tree

4 files changed

+60
-8
lines changed

4 files changed

+60
-8
lines changed

feature/mail/message/list/src/test/kotlin/net/thunderbird/feature/mail/message/list/domain/usecase/BuildSwipeActionsTest.kt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import assertk.assertThat
55
import assertk.assertions.containsOnly
66
import assertk.assertions.hasSize
77
import assertk.assertions.isEmpty
8+
import dev.mokkery.mock
89
import kotlin.random.Random
910
import kotlin.test.Test
1011
import kotlin.uuid.ExperimentalUuidApi
@@ -19,6 +20,8 @@ import net.thunderbird.core.preference.BackgroundSync
1920
import net.thunderbird.core.preference.GeneralSettings
2021
import net.thunderbird.core.preference.GeneralSettingsManager
2122
import net.thunderbird.core.preference.SubTheme
23+
import net.thunderbird.core.preference.privacy.PrivacySettings
24+
import net.thunderbird.core.preference.privacy.PrivacySettingsManager
2225
import net.thunderbird.core.preference.storage.Storage
2326
import net.thunderbird.feature.mail.message.list.fakes.FakeAccount
2427
import net.thunderbird.feature.mail.message.list.fakes.FakeAccountManager
@@ -54,6 +57,8 @@ class BuildSwipeActionsTest {
5457
quietTimeEnds = "7:00",
5558
isQuietTime = false,
5659
isQuietTimeEnabled = false,
60+
privacy = PrivacySettings(isHideTimeZone = false),
61+
5762
)
5863

5964
@Test
@@ -366,15 +371,16 @@ class BuildSwipeActionsTest {
366371
accountsUuids: List<String>,
367372
storageValues: Map<String, String> = mapOf(),
368373
): BuildSwipeActions = BuildSwipeActions(
369-
generalSettingsManager = FakeGeneralSettingsManager(initialGeneralSettings),
374+
generalSettingsManager = FakeGeneralSettingsManager(initialGeneralSettings, mock()),
370375
accountManager = FakeAccountManager(accounts = accountsUuids.map { FakeAccount(uuid = it) }),
371376
storage = FakeStorage(storageValues),
372377
)
373378
}
374379

375380
private class FakeGeneralSettingsManager(
376381
initialGeneralSettings: GeneralSettings,
377-
) : GeneralSettingsManager {
382+
private val privacySettingsManager: PrivacySettingsManager,
383+
) : GeneralSettingsManager, PrivacySettingsManager by privacySettingsManager {
378384
private val generalSettings = MutableStateFlow(initialGeneralSettings)
379385
override fun getSettings(): GeneralSettings = generalSettings.value
380386

@@ -447,6 +453,10 @@ private class FakeGeneralSettingsManager(
447453
override fun setIsQuietTimeEnabled(isQuietTimeEnabled: Boolean) = error(
448454
"not implemented",
449455
)
456+
457+
override fun setIsHideTimeZone(isHideTimeZone: Boolean) = error(
458+
"not implemented",
459+
)
450460
}
451461

452462
private class FakeStorage(

legacy/core/src/test/java/com/fsck/k9/helper/MessageHelperTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import net.thunderbird.core.preference.BackgroundSync
1919
import net.thunderbird.core.preference.GeneralSettings
2020
import net.thunderbird.core.preference.GeneralSettingsManager
2121
import net.thunderbird.core.preference.SubTheme
22+
import net.thunderbird.core.preference.privacy.PrivacySettings
2223
import org.junit.Before
2324
import org.junit.Test
2425
import org.mockito.kotlin.doReturn
@@ -64,6 +65,7 @@ class MessageHelperTest : RobolectricTest() {
6465
isQuietTimeEnabled = false,
6566
quietTimeEnds = "7:00",
6667
quietTimeStarts = "7:00",
68+
privacy = PrivacySettings(isHideTimeZone = false),
6769
),
6870
)
6971
}

legacy/core/src/test/java/com/fsck/k9/message/quote/QuoteDateFormatterTest.kt

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,63 @@ package com.fsck.k9.message.quote
22

33
import assertk.assertThat
44
import assertk.assertions.isEqualTo
5-
import com.fsck.k9.K9
65
import java.time.ZonedDateTime
76
import java.util.Date
87
import java.util.Locale
98
import java.util.TimeZone
9+
import net.thunderbird.core.preference.AppTheme
10+
import net.thunderbird.core.preference.BackgroundSync
11+
import net.thunderbird.core.preference.GeneralSettings
12+
import net.thunderbird.core.preference.GeneralSettingsManager
13+
import net.thunderbird.core.preference.SubTheme
14+
import net.thunderbird.core.preference.privacy.PrivacySettings
1015
import org.junit.After
1116
import org.junit.Before
1217
import org.junit.Test
18+
import org.mockito.kotlin.doReturn
19+
import org.mockito.kotlin.mock
20+
import org.mockito.kotlin.whenever
1321

1422
class QuoteDateFormatterTest {
1523
private lateinit var originalLocale: Locale
1624
private var originalTimeZone: TimeZone? = null
17-
private val quoteDateFormatter = QuoteDateFormatter()
25+
private val generalSettingsManager: GeneralSettingsManager = mock()
26+
private val fakeGeneralSettings = GeneralSettings(
27+
backgroundSync = BackgroundSync.NEVER,
28+
showRecentChanges = false,
29+
appTheme = AppTheme.FOLLOW_SYSTEM,
30+
messageViewTheme = SubTheme.USE_GLOBAL,
31+
messageComposeTheme = SubTheme.USE_GLOBAL,
32+
fixedMessageViewTheme = false,
33+
privacy = PrivacySettings(isHideTimeZone = false),
34+
isAutoFitWidth = false,
35+
isThreadedViewEnabled = false,
36+
isUseMessageViewFixedWidthFont = false,
37+
isShowContactPicture = false,
38+
isMessageListSenderAboveSubject = false,
39+
isChangeContactNameColor = false,
40+
isColorizeMissingContactPictures = false,
41+
shouldShowSetupArchiveFolderDialog = false,
42+
isShowContactName = false,
43+
isShowUnifiedInbox = false,
44+
isShowStarredCount = false,
45+
isShowComposeButtonOnMessageList = false,
46+
isUseBackgroundAsUnreadIndicator = false,
47+
isShowCorrespondentNames = false,
48+
isShowAnimations = false,
49+
isShowMessageListStars = false,
50+
51+
)
52+
private val quoteDateFormatter = QuoteDateFormatter(
53+
generalSettingsManager = generalSettingsManager,
54+
)
1855

1956
@Before
2057
fun setUp() {
2158
originalLocale = Locale.getDefault()
2259
originalTimeZone = TimeZone.getDefault()
2360
TimeZone.setDefault(TimeZone.getTimeZone("GMT+02:00"))
61+
whenever(generalSettingsManager.getSettings()) doReturn fakeGeneralSettings
2462
}
2563

2664
@After
@@ -31,7 +69,8 @@ class QuoteDateFormatterTest {
3169

3270
@Test
3371
fun hideTimeZoneEnabled_UsLocale() {
34-
K9.isHideTimeZone = true
72+
whenever(generalSettingsManager.getSettings()) doReturn
73+
fakeGeneralSettings.copy(privacy = fakeGeneralSettings.privacy.copy(isHideTimeZone = true))
3574
Locale.setDefault(Locale.US)
3675

3776
val formattedDate = quoteDateFormatter.format("2020-09-19T20:00:00+00:00".toDate())
@@ -41,7 +80,8 @@ class QuoteDateFormatterTest {
4180

4281
@Test
4382
fun hideTimeZoneEnabled_GermanyLocale() {
44-
K9.isHideTimeZone = true
83+
whenever(generalSettingsManager.getSettings()) doReturn
84+
fakeGeneralSettings.copy(privacy = fakeGeneralSettings.privacy.copy(isHideTimeZone = true))
4585
Locale.setDefault(Locale.GERMANY)
4686

4787
val formattedDate = quoteDateFormatter.format("2020-09-19T20:00:00+00:00".toDate())
@@ -51,7 +91,6 @@ class QuoteDateFormatterTest {
5191

5292
@Test
5393
fun hideTimeZoneDisabled_UsLocale() {
54-
K9.isHideTimeZone = false
5594
Locale.setDefault(Locale.US)
5695

5796
val formattedDate = quoteDateFormatter.format("2020-09-19T20:00:00+00:00".toDate())
@@ -61,7 +100,6 @@ class QuoteDateFormatterTest {
61100

62101
@Test
63102
fun hideTimeZoneDisabled_GermanyLocale() {
64-
K9.isHideTimeZone = false
65103
Locale.setDefault(Locale.GERMANY)
66104

67105
val formattedDate = quoteDateFormatter.format("2020-09-19T20:00:00+00:00".toDate())

legacy/core/src/test/java/com/fsck/k9/notification/NotificationContentCreatorTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import net.thunderbird.core.preference.AppTheme
1414
import net.thunderbird.core.preference.BackgroundSync
1515
import net.thunderbird.core.preference.GeneralSettings
1616
import net.thunderbird.core.preference.SubTheme
17+
import net.thunderbird.core.preference.privacy.PrivacySettings
1718
import org.junit.Test
1819
import org.mockito.kotlin.any
1920
import org.mockito.kotlin.doReturn
@@ -174,6 +175,7 @@ class NotificationContentCreatorTest : RobolectricTest() {
174175
quietTimeStarts = "7:00",
175176
quietTimeEnds = "7:00",
176177
isQuietTimeEnabled = false,
178+
privacy = PrivacySettings(isHideTimeZone = false),
177179
)
178180
},
179181
)

0 commit comments

Comments
 (0)