diff options
author | Brandon Dong | 2016-05-19 20:11:51 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2016-06-08 18:38:38 +0000 |
commit | ee58f27b5dd6f493a23240024655e8d37293356d (patch) | |
tree | f28c5eb41307f594f80a785c02688d1aee04df9a /org.eclipse.mylyn.tasks.tests | |
parent | c7b61a4748ba0ca0687fef5563165c01cfde0dc3 (diff) | |
download | org.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.java | 25 | ||||
-rw-r--r-- | org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListTest.java | 99 |
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"); |