Added a unit test to confirm that rolling back transactions works the way we expect it to

pull/14/head
Sam Bosley 13 years ago
parent 0cb23f07fa
commit d77cd2a0df

@ -0,0 +1,54 @@
package com.todoroo.astrid.dao;
import android.content.ContentValues;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.sql.Query;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskOutstanding;
import com.todoroo.astrid.test.DatabaseTestCase;
public class DatabaseDaoTests extends DatabaseTestCase {
private TaskDao dao;
private TaskOutstandingDao outstandingDao;
@Override
protected void setUp() throws Exception {
super.setUp();
RemoteModelDao.outstandingEntryFlag = 1;
}
public void testFailedTransactionCreatesNoRows() {
dao = new TaskDao() {
@Override
protected int createOutstandingEntries(long modelId, ContentValues modelSetValues) {
super.createOutstandingEntries(modelId, modelSetValues);
return -1;
}
};
dao.setDatabase(database);
outstandingDao = new TaskOutstandingDao();
outstandingDao.setDatabase(database);
Task t = new Task();
t.setValue(Task.TITLE, "Should not appear");
dao.createNew(t);
TodorooCursor<Task> tasks = dao.query(Query.select(Task.ID));
try {
assertEquals(0, tasks.getCount());
} finally {
tasks.close();
}
TodorooCursor<TaskOutstanding> outstanding = outstandingDao.query(Query.select(TaskOutstanding.ID));
try {
assertEquals(0, outstanding.getCount());
} finally {
outstanding.close();
}
}
}
Loading…
Cancel
Save