diff --git a/app/src/androidTest/java/com/todoroo/astrid/service/Upgrade_11_12_3_Test.kt b/app/src/androidTest/java/com/todoroo/astrid/service/Upgrade_11_12_3_Test.kt new file mode 100644 index 000000000..9133c8889 --- /dev/null +++ b/app/src/androidTest/java/com/todoroo/astrid/service/Upgrade_11_12_3_Test.kt @@ -0,0 +1,62 @@ +@file:Suppress("ClassName") + +package com.todoroo.astrid.service + +import androidx.test.core.app.ApplicationProvider +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.todoroo.astrid.service.Upgrade_11_12_3.Companion.LEGACY_PREFERENCE +import org.junit.Assert.assertEquals +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.tasks.TestUtilities.newPreferences +import org.tasks.preferences.Preferences + +@RunWith(AndroidJUnit4::class) +class Upgrade_11_12_3_Test { + private lateinit var preferences: Preferences + private lateinit var upgrader: Upgrade_11_12_3 + + @Test + fun migrateNoDefaultReminders() { + preferences.setString(LEGACY_PREFERENCE, "0") + upgrader.migrateDefaultReminderPreference() + + assertEquals(emptySet(), preferences.defaultRemindersSet) + assertEquals(0, preferences.defaultReminders) + } + + @Test + fun migrateWhenDue() { + preferences.setString(LEGACY_PREFERENCE, "2") + upgrader.migrateDefaultReminderPreference() + + assertEquals(setOf("2"), preferences.defaultRemindersSet) + assertEquals(2, preferences.defaultReminders) + } + + @Test + fun migrateWhenOverdue() { + preferences.setString(LEGACY_PREFERENCE, "4") + upgrader.migrateDefaultReminderPreference() + + assertEquals(setOf("4"), preferences.defaultRemindersSet) + assertEquals(4, preferences.defaultReminders) + } + + @Test + fun migrateWhenDueAndOverdue() { + preferences.setString(LEGACY_PREFERENCE, "6") + upgrader.migrateDefaultReminderPreference() + + assertEquals(setOf("2", "4"), preferences.defaultRemindersSet) + assertEquals(6, preferences.defaultReminders) + } + + @Before + fun setUp() { + preferences = newPreferences(ApplicationProvider.getApplicationContext()) + preferences.clear() + upgrader = Upgrade_11_12_3(preferences) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/todoroo/astrid/service/Upgrade_11_12_3.kt b/app/src/main/java/com/todoroo/astrid/service/Upgrade_11_12_3.kt index 7af65aa51..687ffcb41 100644 --- a/app/src/main/java/com/todoroo/astrid/service/Upgrade_11_12_3.kt +++ b/app/src/main/java/com/todoroo/astrid/service/Upgrade_11_12_3.kt @@ -27,6 +27,6 @@ class Upgrade_11_12_3 @Inject constructor( companion object { const val VERSION = 111203 - private const val LEGACY_PREFERENCE = "p_def_reminders" + internal const val LEGACY_PREFERENCE = "p_def_reminders" } } \ No newline at end of file