@Test public void should_open_action_plan() { when(actionPlanService.findByKey(eq("ABCD"), any(UserSession.class))) .thenReturn(DefaultActionPlan.create("Long term")); Result result = service.openActionPlan("ABCD"); verify(actionPlanService).setStatus(eq("ABCD"), eq("OPEN"), any(UserSession.class)); assertThat(result.ok()).isTrue(); }
@Test public void should_not_update_action_plan_when_action_plan_is_not_found() { when(actionPlanService.findByKey(eq("ABCD"), any(UserSession.class))).thenReturn(null); Result result = service.updateActionPlan("ABCD", null); assertThat(result.ok()).isFalse(); assertThat(result.errors()) .contains(Result.Message.ofL10n("action_plans.errors.action_plan_does_not_exist", "ABCD")); }
public Result<ActionPlan> updateActionPlan(String key, Map<String, String> parameters) { DefaultActionPlan existingActionPlan = (DefaultActionPlan) actionPlanService.findByKey(key, UserSession.get()); if (existingActionPlan == null) { Result<ActionPlan> result = Result.of(); result.addError( Result.Message.ofL10n(ACTION_PLANS_ERRORS_ACTION_PLAN_DOES_NOT_EXIST_MESSAGE, key)); return result; } else { Result<ActionPlan> result = createActionPlanResult(parameters, existingActionPlan); if (result.ok()) { DefaultActionPlan actionPlan = (DefaultActionPlan) result.get(); actionPlan.setKey(existingActionPlan.key()); actionPlan.setUserLogin(existingActionPlan.userLogin()); result.set(actionPlanService.update(actionPlan, UserSession.get())); } return result; } }
@Test public void should_update_action_plan() { when(actionPlanService.findByKey(eq("ABCD"), any(UserSession.class))) .thenReturn(DefaultActionPlan.create("Long term")); Map<String, String> parameters = newHashMap(); parameters.put("name", "New Long term"); parameters.put("description", "New Long term issues"); parameters.put("deadLine", "2113-05-13"); parameters.put("project", "org.sonar.MultiSample"); ArgumentCaptor<ActionPlan> actionPlanCaptor = ArgumentCaptor.forClass(ActionPlan.class); Result result = service.updateActionPlan("ABCD", parameters); assertThat(result.ok()).isTrue(); verify(actionPlanService).update(actionPlanCaptor.capture(), any(UserSession.class)); ActionPlan actionPlan = actionPlanCaptor.getValue(); assertThat(actionPlan).isNotNull(); assertThat(actionPlan.key()).isNotNull(); assertThat(actionPlan.name()).isEqualTo("New Long term"); assertThat(actionPlan.description()).isEqualTo("New Long term issues"); assertThat(actionPlan.deadLine()).isNotNull(); }
public ActionPlan findActionPlan(String actionPlanKey) { return actionPlanService.findByKey(actionPlanKey, UserSession.get()); }