mirror of https://github.com/tasks/tasks
Fix start date initialization
parent
0496ea457e
commit
3c9fc2d176
@ -0,0 +1,100 @@
|
||||
package com.todoroo.astrid.service
|
||||
|
||||
import com.todoroo.astrid.api.PermaSql.*
|
||||
import com.todoroo.astrid.data.Task
|
||||
import com.todoroo.astrid.data.Task.Companion.DUE_DATE
|
||||
import com.todoroo.astrid.data.Task.Companion.HIDE_UNTIL
|
||||
import com.todoroo.astrid.data.Task.Companion.URGENCY_SPECIFIC_DAY
|
||||
import dagger.hilt.android.testing.HiltAndroidTest
|
||||
import dagger.hilt.android.testing.UninstallModules
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
import org.tasks.R
|
||||
import org.tasks.SuspendFreeze.Companion.freezeAt
|
||||
import org.tasks.injection.InjectingTestCase
|
||||
import org.tasks.injection.ProductionModule
|
||||
import org.tasks.preferences.Preferences
|
||||
import org.tasks.time.DateTime
|
||||
import javax.inject.Inject
|
||||
|
||||
@UninstallModules(ProductionModule::class)
|
||||
@HiltAndroidTest
|
||||
class TaskCreatorTest : InjectingTestCase() {
|
||||
@Inject lateinit var preferences: Preferences
|
||||
@Inject lateinit var taskCreator: TaskCreator
|
||||
|
||||
@Test
|
||||
fun setStartAndDueFromFilter() = runBlocking {
|
||||
val task = freezeAt(DateTime(2021, 2, 4, 14, 56, 34, 126)) {
|
||||
taskCreator.create(mapOf(
|
||||
HIDE_UNTIL.name!! to VALUE_EOD,
|
||||
DUE_DATE.name!! to VALUE_EOD_TOMORROW
|
||||
), null)
|
||||
}
|
||||
|
||||
assertEquals(DateTime(2021, 2, 4).millis, task.hideUntil)
|
||||
assertEquals(
|
||||
Task.createDueDate(URGENCY_SPECIFIC_DAY, DateTime(2021, 2, 5).millis),
|
||||
task.dueDate
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun setDefaultStartWithFilterDue() = runBlocking {
|
||||
preferences.setString(R.string.p_default_hideUntil_key, Task.HIDE_UNTIL_DUE.toString())
|
||||
val task = freezeAt(DateTime(2021, 2, 4, 14, 56, 34, 126)) {
|
||||
taskCreator.create(mapOf(
|
||||
DUE_DATE.name!! to VALUE_EOD
|
||||
), null)
|
||||
}
|
||||
|
||||
assertEquals(DateTime(2021, 2, 4).millis, task.hideUntil)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun setStartAndDueFromPreferences() = runBlocking {
|
||||
preferences.setString(R.string.p_default_urgency_key, Task.URGENCY_TODAY.toString())
|
||||
preferences.setString(R.string.p_default_hideUntil_key, Task.HIDE_UNTIL_DUE.toString())
|
||||
|
||||
val task = freezeAt(DateTime(2021, 2, 4, 14, 56, 34, 126)) {
|
||||
taskCreator.create(null, "test")
|
||||
}
|
||||
|
||||
assertEquals(DateTime(2021, 2, 4).millis, task.hideUntil)
|
||||
assertEquals(
|
||||
Task.createDueDate(URGENCY_SPECIFIC_DAY, DateTime(2021, 2, 4).millis),
|
||||
task.dueDate
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun filterStartOverridesDefaultStart() = runBlocking {
|
||||
preferences.setString(R.string.p_default_urgency_key, Task.URGENCY_TODAY.toString())
|
||||
preferences.setString(R.string.p_default_hideUntil_key, Task.HIDE_UNTIL_DUE.toString())
|
||||
|
||||
val task = freezeAt(DateTime(2021, 2, 4, 14, 56, 34, 126)) {
|
||||
taskCreator.create(mapOf(
|
||||
HIDE_UNTIL.name!! to VALUE_EOD_NEXT_WEEK
|
||||
), null)
|
||||
}
|
||||
|
||||
assertEquals(DateTime(2021, 2, 11).millis, task.hideUntil)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun filterDueOverridesDefaultDue() = runBlocking {
|
||||
preferences.setString(R.string.p_default_urgency_key, Task.URGENCY_TODAY.toString())
|
||||
|
||||
val task = freezeAt(DateTime(2021, 2, 4, 14, 56, 34, 126)) {
|
||||
taskCreator.create(mapOf(
|
||||
DUE_DATE.name!! to VALUE_EOD_TOMORROW
|
||||
), null)
|
||||
}
|
||||
|
||||
assertEquals(
|
||||
Task.createDueDate(URGENCY_SPECIFIC_DAY, DateTime(2021, 2, 5).millis),
|
||||
task.dueDate
|
||||
)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue