PageRenderTime 49ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 0ms

/src/main/resources/com/onresolve/jira/groovy/test/TestAllSubtasksResolved.groovy

https://bitbucket.org/sorin/jira-plugin-intellij
Groovy | 123 lines | 80 code | 25 blank | 18 comment | 0 complexity | 798902e60ee5c7553d910816f2f5d43c MD5 | raw file
  1. package com.onresolve.jira.groovy.test
  2. import com.atlassian.jira.issue.MutableIssue
  3. import com.onresolve.jira.groovy.canned.workflow.conditions.AllSubtasksResolvedCondition
  4. import static com.onresolve.jira.groovy.canned.workflow.conditions.AllSubtasksResolvedCondition.FIELD_REQUIRED_RESOLUTION_ID
  5. import org.apache.log4j.Category
  6. import org.junit.Before
  7. import org.junit.Test
  8. import static junit.framework.Assert.*
  9. /**
  10. * User: jechlin2
  11. * Date: 13-Dec-2010
  12. * Time: 17:36:00
  13. */
  14. class TestAllSubtasksResolved extends BaseSubTaskTest {
  15. Category log = Category.getInstance(this.class)
  16. TestAllSubtasksResolved() {
  17. // def gcl = this.class.classLoader.parent
  18. // gcl.clearCache()
  19. }
  20. @Before
  21. public void setUp() {
  22. log.debug ("setUp")
  23. tearDown()
  24. log.debug ("issueType: ${issueType.getName()}")
  25. assertNotNull(project)
  26. issue = componentManager.getIssueFactory().getIssue()
  27. issue.setProject(project.getGenericValue())
  28. issue.setSummary "my summary"
  29. issue.setReporterId "admin"
  30. issue.setIssueType issueType.getGenericValue()
  31. log.debug (project)
  32. issueManager.createIssue(adminUser, issue);
  33. }
  34. // @After
  35. public void tearDown() {
  36. try {
  37. deleteAllIssues();
  38. }
  39. catch (Exception e) {
  40. log.warn "TODO: Error deleting issue."
  41. }
  42. }
  43. @Test
  44. public void testSubTasksResolved() {
  45. // test with no sub-tasks
  46. Map params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): ''])
  47. assertTrue params['passesCondition'] as Boolean
  48. // test with one sub-task not resolved
  49. MutableIssue subtask = createSubTask(issue)
  50. params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): ''])
  51. assertFalse params['passesCondition'] as Boolean
  52. // test when the one issue has been resolved
  53. resolveIssue(subtask);
  54. params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): ''])
  55. assertTrue params['passesCondition'] as Boolean
  56. // add another sub-task
  57. MutableIssue subtask2 = createSubTask(issue)
  58. params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): ''])
  59. assertFalse params['passesCondition'] as Boolean
  60. // both resolved now
  61. resolveIssue(subtask2);
  62. params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): ''])
  63. assertTrue params['passesCondition'] as Boolean
  64. }
  65. @Test
  66. public void testSubTasksResolvedWithResolution() {
  67. // test with no sub-tasks
  68. Map params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): '2'])
  69. assertTrue params['passesCondition'] as Boolean
  70. // test with one task that's not resolved
  71. MutableIssue subtask = createSubTask(issue)
  72. params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): '2'])
  73. assertFalse params['passesCondition'] as Boolean
  74. // test with one task that has the wrong resolution
  75. resolveIssue(subtask);
  76. params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): '2'])
  77. assertFalse params['passesCondition'] as Boolean
  78. // delete the issue and create one subtask with the right resolution
  79. deleteIssue(subtask)
  80. subtask = createSubTask(issue)
  81. resolveIssue(subtask, '2');
  82. params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): '2'])
  83. assertTrue params['passesCondition'] as Boolean
  84. }
  85. @Test
  86. public void testSubTasksResolvedWithParentResolution() {
  87. Map params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): 'PARENT'])
  88. assertTrue params['passesCondition'] as Boolean
  89. // test with one task that is not resolved
  90. MutableIssue subtask = createSubTask(issue)
  91. params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): 'PARENT'])
  92. assertFalse params['passesCondition'] as Boolean
  93. resolveIssue(subtask, '2');
  94. resolveIssue(issue, '2');
  95. params = new AllSubtasksResolvedCondition().doScript([issue: issue, (FIELD_REQUIRED_RESOLUTION_ID): 'PARENT'])
  96. assertTrue params['passesCondition'] as Boolean
  97. }
  98. }