@Test public void should_get_error_on_action_plan_result_when_name_is_already_used_for_project() { Map<String, String> parameters = newHashMap(); parameters.put("name", "Long term"); parameters.put("description", "Long term issues"); parameters.put("project", "org.sonar.Sample"); when(actionPlanService.isNameAlreadyUsedForProject(anyString(), anyString())).thenReturn(true); Result result = service.createActionPlanResult(parameters, DefaultActionPlan.create("Short term")); assertThat(result.ok()).isFalse(); assertThat(result.errors()) .contains(Result.Message.ofL10n("action_plans.same_name_in_same_project")); }
private boolean isActionPlanNameAvailable( @Nullable DefaultActionPlan existingActionPlan, String name, String projectParam) { return (existingActionPlan == null || !name.equals(existingActionPlan.name())) && actionPlanService.isNameAlreadyUsedForProject(name, projectParam); }