Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrandon Dong2016-05-19 20:11:51 +0000
committerGerrit Code Review @ Eclipse.org2016-06-08 18:38:38 +0000
commitee58f27b5dd6f493a23240024655e8d37293356d (patch)
treef28c5eb41307f594f80a785c02688d1aee04df9a /org.eclipse.mylyn.tasks.tests
parentc7b61a4748ba0ca0687fef5563165c01cfde0dc3 (diff)
downloadorg.eclipse.mylyn.tasks-ee58f27b5dd6f493a23240024655e8d37293356d.tar.gz
org.eclipse.mylyn.tasks-ee58f27b5dd6f493a23240024655e8d37293356d.tar.xz
org.eclipse.mylyn.tasks-ee58f27b5dd6f493a23240024655e8d37293356d.zip
494568: support refactoring task ids
Change-Id: I32f749d32f072bb05045e4749717309df8f4cb86 Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=495066 Signed-off-by: Brandon Dong <brandon.dong@tasktop.com>
Diffstat (limited to 'org.eclipse.mylyn.tasks.tests')
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityManagerTest.java25
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListTest.java99
2 files changed, 120 insertions, 4 deletions
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityManagerTest.java
index 09ff011da..11acb414d 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityManagerTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityManagerTest.java
@@ -13,10 +13,9 @@
package org.eclipse.mylyn.tasks.tests;
import java.util.Calendar;
+import java.util.Collections;
import java.util.Date;
-import junit.framework.TestCase;
-
import org.eclipse.mylyn.commons.net.AuthenticationCredentials;
import org.eclipse.mylyn.commons.net.AuthenticationType;
import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
@@ -32,6 +31,8 @@ import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector;
import org.eclipse.mylyn.tasks.tests.connector.MockTask;
+import junit.framework.TestCase;
+
/**
* @author Shawn Minto
* @author Robert Elves
@@ -172,6 +173,7 @@ public class TaskActivityManagerTest extends TestCase {
protected void setUp() throws Exception {
taskActivityManager = TasksUiPlugin.getTaskActivityManager();
taskActivityManager.deactivateActiveTask();
+ taskActivityManager.clear();
taskList = TasksUiPlugin.getTaskList();
TaskTestUtil.resetTaskListAndRepositories();
@@ -393,6 +395,25 @@ public class TaskActivityManagerTest extends TestCase {
assertNull(taskActivityManager.getActiveTask());
}
+ public void testMoveActivity() {
+ initializeTasks();
+ Calendar end = TaskActivityUtil.getNextWeek().getEndDate();
+ Calendar start = TaskActivityUtil.getCalendar();
+ start.setTimeInMillis(end.getTimeInMillis());
+ TaskActivityUtil.snapStartOfDay(start);
+ taskActivityManager.setScheduledFor(task1, new DateRange(start, end));
+ taskActivityManager.setDueDate(task1, new Date(start.getTimeInMillis() + 1));
+ assertEquals(Collections.singleton(task1), taskActivityManager.getScheduledTasks(start, end));
+ assertEquals(Collections.singleton(task1), taskActivityManager.getDueTasks(start, end));
+ taskActivityManager.activateTask(task1);
+
+ taskActivityManager.moveActivity(task1, task2);
+ assertEquals(Collections.singleton(task2), taskActivityManager.getScheduledTasks(start, end));
+ assertEquals(Collections.singleton(task2), taskActivityManager.getDueTasks(start, end));
+ assertTrue(task2.isActive());
+ assertEquals(task2, taskActivityManager.getActiveTask());
+ }
+
private void initializeTasks() {
task1 = new LocalTask("task1", "description1");
task2 = new LocalTask("task2", "description2");
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListTest.java
index fedeb6c19..d9625d99b 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListTest.java
@@ -13,8 +13,6 @@ package org.eclipse.mylyn.tasks.tests;
import java.util.Set;
-import junit.framework.TestCase;
-
import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
import org.eclipse.mylyn.internal.tasks.core.AbstractTaskCategory;
import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer;
@@ -22,12 +20,15 @@ import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector;
import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.core.TaskCategory;
import org.eclipse.mylyn.internal.tasks.core.TaskList;
+import org.eclipse.mylyn.internal.tasks.core.UnmatchedTaskContainer;
import org.eclipse.mylyn.tasks.core.ITask;
import org.eclipse.mylyn.tasks.core.ITaskContainer;
import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector;
import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryQuery;
import org.eclipse.mylyn.tasks.tests.connector.MockTask;
+import junit.framework.TestCase;
+
/**
* @author Mik Kersten
* @author Rob Elves
@@ -458,6 +459,100 @@ public class TaskListTest extends TestCase {
assertEquals(0, taskList.getDefaultCategory().getChildren().size());
}
+ public void testRefactorSingleTask() {
+ AbstractTask task = new LocalTask("1", "label");
+ taskList.addTask(task);
+ taskList.refactorTaskId(task, "2");
+ assertEquals(1, taskList.getAllTasks().size());
+ assertEquals(1, taskList.getDefaultCategory().getChildren().size());
+ assertEquals(new LocalTask("2", "label"), taskList.getAllTasks().iterator().next());
+ }
+
+ public void testRefactorSingleTaskInUnmatched() {
+ String repositoryUrl = "http://somewhere.com";
+ MockTask task = new MockTask(repositoryUrl, "1");
+ UnmatchedTaskContainer unmatched = new UnmatchedTaskContainer(task.getConnectorKind(), repositoryUrl);
+ taskList.addUnmatchedContainer(unmatched);
+ taskList.addTask(task);
+ taskList.refactorTaskId(task, "2");
+ assertEquals(1, taskList.getAllTasks().size());
+ assertEquals(1, unmatched.getChildren().size());
+ assertEquals(new MockTask(repositoryUrl, "2"), taskList.getAllTasks().iterator().next());
+ assertEquals(new MockTask(repositoryUrl, "2"), unmatched.getChildren().iterator().next());
+ }
+
+ public void testRefactorSingleTaskKeepsProperties() {
+ AbstractTask task = new LocalTask("1", "label");
+ taskList.addTask(task);
+ taskList.refactorTaskId(task, "2");
+ assertEquals(1, taskList.getAllTasks().size());
+ AbstractTask refactoredTask = taskList.getAllTasks().iterator().next();
+ assertEquals(new LocalTask("2", "label"), refactoredTask);
+ assertEquals(task.getRepositoryUrl(), refactoredTask.getRepositoryUrl());
+ assertEquals(task.getConnectorKind(), refactoredTask.getConnectorKind());
+ assertEquals(task.getAttributes(), refactoredTask.getAttributes());
+ assertEquals(task.getSummary(), refactoredTask.getSummary());
+ assertEquals(task.getPriority(), refactoredTask.getPriority());
+ }
+
+ public void testRefactorTaskInQuery() {
+ MockRepositoryQuery query = new MockRepositoryQuery("query");
+ taskList.addQuery(query);
+ MockTask task = new MockTask("1");
+ taskList.addTask(task, query);
+ taskList.refactorTaskId(task, "2");
+ assertEquals(1, taskList.getAllTasks().size());
+ assertEquals(0, taskList.getDefaultCategory().getChildren().size());
+ assertEquals(1, query.getChildren().size());
+ assertEquals(new MockTask("2"), query.getChildren().iterator().next());
+ assertEquals(new MockTask("2"), taskList.getAllTasks().iterator().next());
+ }
+
+ public void testRefactorTaskInCategory() {
+ TaskCategory category = new TaskCategory("category");
+ taskList.addCategory(category);
+ MockTask task = new MockTask("1");
+ taskList.addTask(task, category);
+ taskList.refactorTaskId(task, "2");
+ assertEquals(1, taskList.getAllTasks().size());
+ assertEquals(0, taskList.getDefaultCategory().getChildren().size());
+ assertEquals(1, category.getChildren().size());
+ assertEquals(new MockTask("2"), category.getChildren().iterator().next());
+ assertEquals(new MockTask("2"), taskList.getAllTasks().iterator().next());
+ }
+
+ public void testRefactorTaskWithSubtask() {
+ AbstractTask task = new LocalTask("1", "label");
+ AbstractTask subtask = new LocalTask("2", "subtask");
+ taskList.addTask(task);
+ taskList.addTask(subtask, task);
+ taskList.refactorTaskId(task, "3");
+ assertEquals(2, taskList.getAllTasks().size());
+ assertEquals(1, taskList.getDefaultCategory().getChildren().size());
+ assertEquals(1, subtask.getParentContainers().size());
+ AbstractTaskContainer refactoredTask = subtask.getParentContainers().iterator().next();
+ assertEquals(new LocalTask("3", "label"), refactoredTask);
+ assertTrue(taskList.getAllTasks().contains(refactoredTask));
+ assertEquals(1, refactoredTask.getChildren().size());
+ assertEquals(subtask, refactoredTask.getChildren().iterator().next());
+ }
+
+ public void testRefactorTaskWithParent() {
+ AbstractTask task = new LocalTask("1", "label");
+ AbstractTask parent = new LocalTask("2", "parent");
+ taskList.addTask(parent);
+ taskList.addTask(task, parent);
+ taskList.refactorTaskId(task, "3");
+ assertEquals(2, taskList.getAllTasks().size());
+ assertEquals(1, taskList.getDefaultCategory().getChildren().size());
+ assertEquals(1, parent.getChildren().size());
+ AbstractTask refactoredTask = (AbstractTask) parent.getChildren().iterator().next();
+ assertEquals(new LocalTask("3", "label"), refactoredTask);
+ assertTrue(taskList.getAllTasks().contains(refactoredTask));
+ assertEquals(1, refactoredTask.getParentContainers().size());
+ assertEquals(parent, refactoredTask.getParentContainers().iterator().next());
+ }
+
public void testgetQueriesAndHitsForHandle() {
MockTask hit1 = new MockTask("1");
MockTask hit2 = new MockTask("2");

Back to the top