@Override public boolean execute(Map<String, Object> properties, Context context) { DefaultIssue issue = context.issue(); String transition = transition(properties); return canExecuteTransition(issue, transition) && transitionService.doTransition(context.issue(), context.issueChangeContext(), transition(properties)); }
@Override public boolean verify(Map<String, Object> properties, Collection<DefaultIssue> issues, UserSession userSession) { transition(properties); return true; }
@Test public void does_not_execute_if_transition_is_not_available() { loginAndAddProjectPermission("john", ISSUE_ADMIN); issue.setStatus(STATUS_CLOSED); action.execute(ImmutableMap.of("transition", "reopen"), context); assertThat(issue.status()).isEqualTo(STATUS_CLOSED); }
private void addActions() { actions.add(new org.sonar.server.issue.AssignAction(db.getDbClient(), issueFieldsSetter)); actions.add(new org.sonar.server.issue.SetSeverityAction(issueFieldsSetter, userSession)); actions.add(new org.sonar.server.issue.SetTypeAction(issueFieldsSetter, userSession)); actions.add(new org.sonar.server.issue.TransitionAction(new TransitionService(userSession, issueWorkflow))); actions.add(new org.sonar.server.issue.AddTagsAction(issueFieldsSetter)); actions.add(new org.sonar.server.issue.RemoveTagsAction(issueFieldsSetter)); actions.add(new org.sonar.server.issue.CommentAction(issueFieldsSetter)); }
@Override public boolean verify(Map<String, Object> properties, Collection<DefaultIssue> issues, UserSession userSession) { transition(properties); return true; }
@Test public void execute() { loginAndAddProjectPermission("john", ISSUE_ADMIN); issue.setStatus(Issue.STATUS_RESOLVED); issue.setResolution(Issue.RESOLUTION_FIXED); action.execute(ImmutableMap.of("transition", "reopen"), context); assertThat(issue.status()).isEqualTo(Issue.STATUS_REOPENED); assertThat(issue.resolution()).isNull(); }
@Override public boolean execute(Map<String, Object> properties, Context context) { DefaultIssue issue = context.issue(); String transition = transition(properties); return canExecuteTransition(issue, transition) && transitionService.doTransition(context.issue(), context.issueChangeContext(), transition(properties)); }
@Test public void fail_to_verify_when_parameter_not_found() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Missing parameter : 'transition'"); action.verify(ImmutableMap.of("unknwown", "reopen"), Lists.newArrayList(), userSession); }