/src/main/resources/com/onresolve/jira/groovy/test/TestAllSubtasksResolved.groovy
Groovy | 123 lines | 80 code | 25 blank | 18 comment | 0 complexity | 798902e60ee5c7553d910816f2f5d43c MD5 | raw file
- package com.onresolve.jira.groovy.test
-
- import com.atlassian.jira.issue.MutableIssue
- import com.onresolve.jira.groovy.canned.workflow.conditions.AllSubtasksResolvedCondition
- import static com.onresolve.jira.groovy.canned.workflow.conditions.AllSubtasksResolvedCondition.FIELD_REQUIRED_RESOLUTION_ID
- import org.apache.log4j.Category
-
- import org.junit.Before
- import org.junit.Test
- import static junit.framework.Assert.*
-
- /**
- * User: jechlin2
- * Date: 13-Dec-2010
- * Time: 17:36:00
- */
- class TestAllSubtasksResolved extends BaseSubTaskTest {
-
- Category log = Category.getInstance(this.class)
-
- TestAllSubtasksResolved() {
- // def gcl = this.class.classLoader.parent
- // gcl.clearCache()
- }
-
- @Before
- public void setUp() {
- log.debug ("setUp")
- tearDown()
-
- log.debug ("issueType: ${issueType.getName()}")
- assertNotNull(project)
-
- issue = componentManager.getIssueFactory().getIssue()
- issue.setProject(project.getGenericValue())
- issue.setSummary "my summary"
- issue.setReporterId "admin"
- issue.setIssueType issueType.getGenericValue()
- log.debug (project)
- issueManager.createIssue(adminUser, issue);
-
- }
-
- // @After
- public void tearDown() {
- try {
- deleteAllIssues();
- }
- catch (Exception e) {
- log.warn "TODO: Error deleting issue."
- }
- }
-
- @Test
- public void testSubTasksResolved() {
- // test with no sub-tasks
-
- Map params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): ''])
- assertTrue params['passesCondition'] as Boolean
-
- // test with one sub-task not resolved
- MutableIssue subtask = createSubTask(issue)
- params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): ''])
- assertFalse params['passesCondition'] as Boolean
-
- // test when the one issue has been resolved
- resolveIssue(subtask);
- params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): ''])
- assertTrue params['passesCondition'] as Boolean
-
- // add another sub-task
- MutableIssue subtask2 = createSubTask(issue)
- params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): ''])
- assertFalse params['passesCondition'] as Boolean
-
- // both resolved now
- resolveIssue(subtask2);
- params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): ''])
- assertTrue params['passesCondition'] as Boolean
- }
-
- @Test
- public void testSubTasksResolvedWithResolution() {
- // test with no sub-tasks
- Map params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): '2'])
- assertTrue params['passesCondition'] as Boolean
-
- // test with one task that's not resolved
- MutableIssue subtask = createSubTask(issue)
- params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): '2'])
- assertFalse params['passesCondition'] as Boolean
-
- // test with one task that has the wrong resolution
- resolveIssue(subtask);
- params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): '2'])
- assertFalse params['passesCondition'] as Boolean
-
- // delete the issue and create one subtask with the right resolution
- deleteIssue(subtask)
- subtask = createSubTask(issue)
- resolveIssue(subtask, '2');
- params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): '2'])
- assertTrue params['passesCondition'] as Boolean
- }
-
- @Test
- public void testSubTasksResolvedWithParentResolution() {
- Map params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): 'PARENT'])
- assertTrue params['passesCondition'] as Boolean
-
- // test with one task that is not resolved
- MutableIssue subtask = createSubTask(issue)
- params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): 'PARENT'])
- assertFalse params['passesCondition'] as Boolean
-
- resolveIssue(subtask, '2');
- resolveIssue(issue, '2');
- params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): 'PARENT'])
- assertTrue params['passesCondition'] as Boolean
- }
-
-
- }