mirror of https://github.com/tasks/tasks
Added an update URI for provider for PureCalendar
parent
9d21f7be3a
commit
fcb28affc6
@ -1,21 +1,98 @@
|
|||||||
package com.todoroo.astrid.provider;
|
package com.todoroo.astrid.provider;
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
|
import android.content.ContentValues;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
|
||||||
|
import com.timsu.astrid.data.task.TaskController;
|
||||||
|
import com.timsu.astrid.data.task.TaskModelForEdit;
|
||||||
|
import com.timsu.astrid.data.task.TaskModelForList;
|
||||||
import com.timsu.astrid.provider.TasksProvider;
|
import com.timsu.astrid.provider.TasksProvider;
|
||||||
import com.todoroo.andlib.test.TodorooTestCase;
|
import com.todoroo.astrid.test.DatabaseTestCase;
|
||||||
|
|
||||||
public class TaskProviderTests extends TodorooTestCase {
|
public class TaskProviderTests extends DatabaseTestCase {
|
||||||
|
|
||||||
/** test that we can start things up and query for tasks */
|
/** test that we can start things up and query for tasks */
|
||||||
public void testSimpleTaskQuery() {
|
public void testSimpleTaskQuery() {
|
||||||
|
// create some stuff
|
||||||
|
TaskController tc = new TaskController(getContext());
|
||||||
|
tc.open();
|
||||||
|
TaskModelForEdit task = new TaskModelForEdit();
|
||||||
|
task.setName("abc");
|
||||||
|
tc.saveTask(task, false);
|
||||||
|
task = new TaskModelForEdit();
|
||||||
|
task.setName("def");
|
||||||
|
tc.saveTask(task, false);
|
||||||
|
assertEquals(2, tc.getAllTaskIdentifiers().size());
|
||||||
|
|
||||||
|
// query it
|
||||||
|
Uri tasks = Uri.withAppendedPath(TasksProvider.CONTENT_URI, "tasks");
|
||||||
ContentResolver resolver = getContext().getContentResolver();
|
ContentResolver resolver = getContext().getContentResolver();
|
||||||
|
Cursor c = resolver.query(tasks, null, null, null, null);
|
||||||
|
assertEquals(2, c.getCount());
|
||||||
|
c.moveToFirst();
|
||||||
|
assertEquals("abc", c.getString(0));
|
||||||
|
c.moveToNext();
|
||||||
|
assertEquals("def", c.getString(0));
|
||||||
|
|
||||||
|
// complete one
|
||||||
|
Cursor c2 = tc.getAllTaskListCursor();
|
||||||
|
c2.moveToFirst();
|
||||||
|
TaskModelForList listTask = new TaskModelForList(c2);
|
||||||
|
listTask.setProgressPercentage(TaskModelForList.COMPLETE_PERCENTAGE);
|
||||||
|
tc.saveTask(listTask, false);
|
||||||
|
tc.close();
|
||||||
|
|
||||||
|
// should be gone
|
||||||
|
c = resolver.query(tasks, new String[] { "name" }, null, null, null);
|
||||||
|
assertEquals(1, c.getCount());
|
||||||
|
}
|
||||||
|
|
||||||
|
/** test that we can update a task */
|
||||||
|
public void testSimpleTaskUpdate() {
|
||||||
|
// create some stuff
|
||||||
|
TaskController tc = new TaskController(getContext());
|
||||||
|
tc.open();
|
||||||
|
TaskModelForEdit task1 = new TaskModelForEdit();
|
||||||
|
task1.setName("solve world peace");
|
||||||
|
tc.saveTask(task1, false);
|
||||||
|
TaskModelForEdit task2 = new TaskModelForEdit();
|
||||||
|
task2.setName("solve P = NP");
|
||||||
|
tc.saveTask(task2, false);
|
||||||
|
assertEquals(2, tc.getAllTaskIdentifiers().size());
|
||||||
|
tc.close();
|
||||||
|
|
||||||
|
// query provider
|
||||||
Uri tasks = Uri.withAppendedPath(TasksProvider.CONTENT_URI, "tasks");
|
Uri tasks = Uri.withAppendedPath(TasksProvider.CONTENT_URI, "tasks");
|
||||||
Cursor c = resolver.query(tasks, new String[] { "name" }, null, null, null);
|
ContentResolver resolver = getContext().getContentResolver();
|
||||||
assertTrue(c.getCount() >= 0);
|
Cursor c = resolver.query(tasks, null, null, null, null);
|
||||||
|
assertEquals(2, c.getCount());
|
||||||
|
c.moveToFirst();
|
||||||
|
assertEquals(task1.getName(), c.getString(0));
|
||||||
|
long id = c.getLong(5);
|
||||||
|
assertEquals(task1.getTaskIdentifier().getId(), id);
|
||||||
|
c.moveToNext();
|
||||||
|
assertEquals(task2.getName(), c.getString(0));
|
||||||
|
|
||||||
|
// complete first task
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("completed", true);
|
||||||
|
int result = resolver.update(tasks, values, "_id = " + id, null);
|
||||||
|
|
||||||
|
// query
|
||||||
|
c = resolver.query(tasks, null, null, null, null);
|
||||||
|
assertEquals(1, c.getCount());
|
||||||
|
c.moveToFirst();
|
||||||
|
assertEquals(task2.getName(), c.getString(0));
|
||||||
|
|
||||||
|
// uncomplete
|
||||||
|
values.put("completed", false);
|
||||||
|
resolver.update(tasks, values, "_id = ?", new String[] { Long.toString(id) });
|
||||||
|
assertEquals(1, result);
|
||||||
|
c = resolver.query(tasks, null, null, null, null);
|
||||||
|
assertEquals(2, c.getCount());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue