From 686a36ecbd8bc483525c4f8fd7d2eac8ad56bfce Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Thu, 20 Apr 2023 23:26:51 -0500 Subject: [PATCH] Fix tests --- .../CaldavManualSortTaskAdapterTest.kt | 4 +- .../astrid/adapter/CaldavTaskAdapterTest.kt | 4 +- .../GoogleTaskManualSortAdapterTest.kt | 4 +- .../astrid/adapter/NonRecursiveQueryTest.kt | 78 ------------------- .../astrid/adapter/OfflineSubtaskTest.kt | 4 +- .../tasks/data/ManualGoogleTaskQueryTest.kt | 12 --- .../main/java/org/tasks/data/TaskListQuery.kt | 6 +- 7 files changed, 15 insertions(+), 97 deletions(-) delete mode 100644 app/src/androidTest/java/com/todoroo/astrid/adapter/NonRecursiveQueryTest.kt diff --git a/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavManualSortTaskAdapterTest.kt b/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavManualSortTaskAdapterTest.kt index 3840c84be..8778a3e49 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavManualSortTaskAdapterTest.kt +++ b/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavManualSortTaskAdapterTest.kt @@ -5,6 +5,7 @@ import com.natpryce.makeiteasy.PropertyValue import com.todoroo.astrid.api.CaldavFilter import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task +import com.todoroo.astrid.service.TaskMover import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.UninstallModules import kotlinx.coroutines.runBlocking @@ -40,6 +41,7 @@ class CaldavManualSortTaskAdapterTest : InjectingTestCase() { @Inject lateinit var caldavDao: CaldavDao @Inject lateinit var preferences: Preferences @Inject lateinit var localBroadcastManager: LocalBroadcastManager + @Inject lateinit var taskMover: TaskMover private lateinit var adapter: CaldavManualSortTaskAdapter private val tasks = ArrayList() @@ -56,7 +58,7 @@ class CaldavManualSortTaskAdapterTest : InjectingTestCase() { preferences.clear() preferences.setBoolean(R.string.p_manual_sort, true) tasks.clear() - adapter = CaldavManualSortTaskAdapter(googleTaskDao, caldavDao, taskDao, localBroadcastManager) + adapter = CaldavManualSortTaskAdapter(googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover) adapter.setDataSource(dataSource) } diff --git a/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavTaskAdapterTest.kt b/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavTaskAdapterTest.kt index e39ad2d46..19b357d88 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavTaskAdapterTest.kt +++ b/app/src/androidTest/java/com/todoroo/astrid/adapter/CaldavTaskAdapterTest.kt @@ -3,6 +3,7 @@ package com.todoroo.astrid.adapter import com.natpryce.makeiteasy.MakeItEasy.with import com.natpryce.makeiteasy.PropertyValue import com.todoroo.astrid.dao.TaskDao +import com.todoroo.astrid.service.TaskMover import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.UninstallModules import kotlinx.coroutines.runBlocking @@ -24,6 +25,7 @@ class CaldavTaskAdapterTest : InjectingTestCase() { @Inject lateinit var caldavDao: CaldavDao @Inject lateinit var googleTaskDao: GoogleTaskDao @Inject lateinit var localBroadcastManager: LocalBroadcastManager + @Inject lateinit var taskMover: TaskMover private lateinit var adapter: TaskAdapter private val tasks = ArrayList() @@ -33,7 +35,7 @@ class CaldavTaskAdapterTest : InjectingTestCase() { super.setUp() tasks.clear() - adapter = TaskAdapter(false, googleTaskDao, caldavDao, taskDao, localBroadcastManager) + adapter = TaskAdapter(false, googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover) adapter.setDataSource(object : TaskAdapterDataSource { override fun getItem(position: Int) = tasks[position] diff --git a/app/src/androidTest/java/com/todoroo/astrid/adapter/GoogleTaskManualSortAdapterTest.kt b/app/src/androidTest/java/com/todoroo/astrid/adapter/GoogleTaskManualSortAdapterTest.kt index 0ad667f06..911f6f761 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/adapter/GoogleTaskManualSortAdapterTest.kt +++ b/app/src/androidTest/java/com/todoroo/astrid/adapter/GoogleTaskManualSortAdapterTest.kt @@ -5,6 +5,7 @@ import com.natpryce.makeiteasy.PropertyValue import com.todoroo.astrid.api.GtasksFilter import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task +import com.todoroo.astrid.service.TaskMover import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.UninstallModules import kotlinx.coroutines.runBlocking @@ -37,6 +38,7 @@ class GoogleTaskManualSortAdapterTest : InjectingTestCase() { @Inject lateinit var googleTaskDao: GoogleTaskDao @Inject lateinit var preferences: Preferences @Inject lateinit var localBroadcastManager: LocalBroadcastManager + @Inject lateinit var taskMover: TaskMover private lateinit var adapter: GoogleTaskManualSortAdapter private val tasks = ArrayList() @@ -415,7 +417,7 @@ class GoogleTaskManualSortAdapterTest : InjectingTestCase() { preferences.clear() preferences.setBoolean(R.string.p_manual_sort, true) tasks.clear() - adapter = GoogleTaskManualSortAdapter(googleTaskDao, caldavDao, taskDao, localBroadcastManager) + adapter = GoogleTaskManualSortAdapter(googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover) adapter.setDataSource(dataSource) } diff --git a/app/src/androidTest/java/com/todoroo/astrid/adapter/NonRecursiveQueryTest.kt b/app/src/androidTest/java/com/todoroo/astrid/adapter/NonRecursiveQueryTest.kt deleted file mode 100644 index 1ec3da0a2..000000000 --- a/app/src/androidTest/java/com/todoroo/astrid/adapter/NonRecursiveQueryTest.kt +++ /dev/null @@ -1,78 +0,0 @@ -package com.todoroo.astrid.adapter - -import android.content.Context -import androidx.test.core.app.ApplicationProvider -import com.natpryce.makeiteasy.MakeItEasy.with -import com.natpryce.makeiteasy.PropertyValue -import com.todoroo.astrid.core.BuiltInFilterExposer -import com.todoroo.astrid.dao.TaskDao -import com.todoroo.astrid.data.Task -import dagger.hilt.android.testing.HiltAndroidTest -import dagger.hilt.android.testing.UninstallModules -import kotlinx.coroutines.runBlocking -import org.junit.Assert.assertEquals -import org.junit.Before -import org.junit.Test -import org.tasks.LocalBroadcastManager -import org.tasks.R -import org.tasks.data.CaldavDao -import org.tasks.data.GoogleTaskDao -import org.tasks.data.TaskContainer -import org.tasks.data.TaskListQuery.getQuery -import org.tasks.injection.InjectingTestCase -import org.tasks.injection.ProductionModule -import org.tasks.makers.TaskMaker.PARENT -import org.tasks.makers.TaskMaker.newTask -import org.tasks.preferences.Preferences -import javax.inject.Inject - -@UninstallModules(ProductionModule::class) -@HiltAndroidTest -class NonRecursiveQueryTest : InjectingTestCase() { - @Inject lateinit var googleTaskDao: GoogleTaskDao - @Inject lateinit var caldavDao: CaldavDao - @Inject lateinit var taskDao: TaskDao - @Inject lateinit var preferences: Preferences - @Inject lateinit var localBroadcastManager: LocalBroadcastManager - - private lateinit var adapter: TaskAdapter - private val tasks = ArrayList() - private val filter = BuiltInFilterExposer.getMyTasksFilter(ApplicationProvider.getApplicationContext().resources) - private val dataSource = object : TaskAdapterDataSource { - override fun getItem(position: Int) = tasks[position] - - override fun getTaskCount() = tasks.size - } - - @Before - override fun setUp() { - super.setUp() - preferences.clear() - preferences.setBoolean(R.string.p_use_paged_queries, true) - tasks.clear() - adapter = TaskAdapter(false, googleTaskDao, caldavDao, taskDao, localBroadcastManager) - adapter.setDataSource(dataSource) - } - - @Test - fun ignoreSubtasks() { - val parent = addTask() - val child = addTask(with(PARENT, parent)) - - query() - - assertEquals(child, tasks[1].id) - assertEquals(parent, tasks[1].parent) - assertEquals(0, tasks[1].indent) - } - - private fun addTask(vararg properties: PropertyValue): Long = runBlocking { - val task = newTask(*properties) - taskDao.createNew(task) - task.id - } - - private fun query() = runBlocking { - tasks.addAll(taskDao.fetchTasks { getQuery(preferences, filter, it) }) - } -} \ No newline at end of file diff --git a/app/src/androidTest/java/com/todoroo/astrid/adapter/OfflineSubtaskTest.kt b/app/src/androidTest/java/com/todoroo/astrid/adapter/OfflineSubtaskTest.kt index 4b829d364..b871aea30 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/adapter/OfflineSubtaskTest.kt +++ b/app/src/androidTest/java/com/todoroo/astrid/adapter/OfflineSubtaskTest.kt @@ -7,6 +7,7 @@ import com.natpryce.makeiteasy.PropertyValue import com.todoroo.astrid.core.BuiltInFilterExposer import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.data.Task +import com.todoroo.astrid.service.TaskMover import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.UninstallModules import kotlinx.coroutines.runBlocking @@ -33,6 +34,7 @@ class OfflineSubtaskTest : InjectingTestCase() { @Inject lateinit var taskDao: TaskDao @Inject lateinit var preferences: Preferences @Inject lateinit var localBroadcastManager: LocalBroadcastManager + @Inject lateinit var taskMover: TaskMover private lateinit var adapter: TaskAdapter private val tasks = ArrayList() @@ -48,7 +50,7 @@ class OfflineSubtaskTest : InjectingTestCase() { super.setUp() preferences.clear() tasks.clear() - adapter = TaskAdapter(false, googleTaskDao, caldavDao, taskDao, localBroadcastManager) + adapter = TaskAdapter(false, googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover) adapter.setDataSource(dataSource) } diff --git a/app/src/androidTest/java/org/tasks/data/ManualGoogleTaskQueryTest.kt b/app/src/androidTest/java/org/tasks/data/ManualGoogleTaskQueryTest.kt index 63f48dd28..758f2e5f1 100644 --- a/app/src/androidTest/java/org/tasks/data/ManualGoogleTaskQueryTest.kt +++ b/app/src/androidTest/java/org/tasks/data/ManualGoogleTaskQueryTest.kt @@ -8,7 +8,6 @@ import dagger.hilt.android.testing.HiltAndroidTest import dagger.hilt.android.testing.UninstallModules import kotlinx.coroutines.runBlocking import org.junit.Assert.assertEquals -import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.tasks.R @@ -95,17 +94,6 @@ class ManualGoogleTaskQueryTest : InjectingTestCase() { assertEquals(1, subtasks[2].secondarySort) } - @Test - fun ignoreDisableSubtasksPreference() = runBlocking { - preferences.setBoolean(R.string.p_use_paged_queries, true) - newTask(1, 0, 0) - newTask(2, 0, 1) - - val parent = query()[0] - - assertTrue(parent.hasChildren()) - } - private suspend fun newTask(id: Long, order: Long, parent: Long = 0) { taskDao.insert(TaskMaker.newTask( with(ID, id), diff --git a/app/src/main/java/org/tasks/data/TaskListQuery.kt b/app/src/main/java/org/tasks/data/TaskListQuery.kt index aa622d853..11144c01a 100644 --- a/app/src/main/java/org/tasks/data/TaskListQuery.kt +++ b/app/src/main/java/org/tasks/data/TaskListQuery.kt @@ -16,9 +16,9 @@ object TaskListQuery { Task.ID.eq(field("${TaskListFragment.CALDAV_METADATA_JOIN}.cd_task")), field("${TaskListFragment.CALDAV_METADATA_JOIN}.cd_deleted").eq(0)) val JOINS = """ - ${Join.inner(CaldavTask.TABLE.`as`(TaskListFragment.CALDAV_METADATA_JOIN), JOIN_CALDAV)} - ${Join.inner(CaldavCalendar.TABLE, field("${TaskListFragment.CALDAV_METADATA_JOIN}.cd_calendar").eq(CaldavCalendar.UUID))} - ${Join.inner(CaldavAccount.TABLE, CaldavCalendar.ACCOUNT.eq(CaldavAccount.UUID))} + ${Join.left(CaldavTask.TABLE.`as`(TaskListFragment.CALDAV_METADATA_JOIN), JOIN_CALDAV)} + ${Join.left(CaldavCalendar.TABLE, field("${TaskListFragment.CALDAV_METADATA_JOIN}.cd_calendar").eq(CaldavCalendar.UUID))} + ${Join.left(CaldavAccount.TABLE, CaldavCalendar.ACCOUNT.eq(CaldavAccount.UUID))} ${Join.left(Geofence.TABLE, Geofence.TASK.eq(Task.ID))} ${Join.left(Place.TABLE, Place.UID.eq(Geofence.PLACE))} """.trimIndent()