Added unit test and fixed bug for UserMigrated message

pull/14/head
Sam Bosley 11 years ago
parent 330edc80b0
commit 2e2fea9deb

@ -17,7 +17,7 @@ public class UserMigrated extends ServerToClientMessage {
String newUuid = json.optString("new_user_id"); //$NON-NLS-1$
if (RemoteModel.isValidUuid(newUuid)) {
Preferences.setString(ActFmPreferenceService.PREF_USER_ID, newUuid);
new ConvertSelfUserIdsToZero();
new ConvertSelfUserIdsToZero().execute();
}
}

@ -5,13 +5,16 @@ import org.json.JSONObject;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.sql.Query;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.actfm.sync.ActFmSyncThread.ModelType;
import com.todoroo.astrid.actfm.sync.messages.ChangesHappened;
import com.todoroo.astrid.actfm.sync.messages.NameMaps;
import com.todoroo.astrid.actfm.sync.messages.ReplayOutstandingEntries;
import com.todoroo.astrid.actfm.sync.messages.ServerToClientMessage;
import com.todoroo.astrid.actfm.sync.messages.UserMigrated;
import com.todoroo.astrid.data.RemoteModel;
import com.todoroo.astrid.data.SyncFlags;
import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskOutstanding;
@ -140,4 +143,30 @@ public class SyncMessageTest extends NewSyncTestCase {
assertEquals(SYNC_TASK_IMPORTANCE, t.getValue(Task.IMPORTANCE).intValue());
}
public void testUserMigratedUpdatesUserIds() {
Task t = createTask("Someone else's", true);
TagData td = createTagData("Someone else's tag", true);
t.setValue(Task.USER_ID, "1");
taskDao.save(t);
td.setValue(TagData.USER_ID, "1");
tagDataDao.saveExisting(td);
JSONObject userMigrated = new JSONObject();
try {
userMigrated.put("type", ServerToClientMessage.TYPE_USER_MIGRATED);
userMigrated.put("new_user_id", "1");
} catch (JSONException e) {
fail("JSONException");
}
new UserMigrated(userMigrated).processMessage(null);
t = taskDao.fetch(t.getId(), Task.USER_ID);
td = tagDataDao.fetch(td.getId(), TagData.USER_ID);
assertEquals("1", ActFmPreferenceService.userId());
assertEquals(Task.USER_ID_SELF, t.getValue(Task.USER_ID));
assertEquals(Task.USER_ID_SELF, td.getValue(TagData.USER_ID));
}
}

Loading…
Cancel
Save