package com.taskadapter.redmineapi;
import java.util.List;
import com.taskadapter.redmineapi.bean.ProjectFactory;
import org.json.JSONObject;
import com.taskadapter.redmineapi.bean.Project;
import com.taskadapter.redmineapi.internal.RedmineJSONParser;
import com.taskadapter.redmineapi.internal.json.JsonInput;
import org.junit.Before;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class ProjectsTest {
private List<Project> projectsList;
@Before
// Is executed before each test method
public void setup() throws Exception {
String text = MyIOUtils.getResourceAsString("project/redmine_projects.json");
final JSONObject object = RedmineJSONParser.getResponse(text);
projectsList = JsonInput.getListNotNull(object, "projects", RedmineJSONParser::parseProject);
}
@Test
public void testProjectsNumber() {
assertThat(projectsList.size()).isEqualTo(12);
}
@Test
public void testProjects1Info() {
Project aceProject = ProjectFactory.create(15);
aceProject.setIdentifier("test1295577237142");
aceProject.setName("test project 15");
Project projectFromList = findProjectInList(aceProject.getId());
assertThat(projectFromList).isNotNull();
// could use project.equals later when it's implemented in the class
assertThat(projectFromList.getId()).isEqualTo(aceProject.getId());
assertThat(projectFromList.getName()).isEqualTo(aceProject.getName());
assertThat(projectFromList.getIdentifier()).isEqualTo(aceProject.getIdentifier());
}
/*
* @return NULL, if not found in list
*/
private Project findProjectInList(int projectDbId) {
Project result = null;
for (Project project : projectsList) {
if (project.getId().equals(projectDbId)) {
result = project;
break;
}
}
return result;
}
}