Skip to content
Snippets Groups Projects
Commit 7fb26428 authored by Martin Staehr's avatar Martin Staehr
Browse files

#40 feat: creating tests for DAOs

parent f0ba72aa
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,7 @@ import unipotsdam.gf.core.management.user.User; ...@@ -5,6 +5,7 @@ import unipotsdam.gf.core.management.user.User;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
public class Group { public class Group {
...@@ -37,21 +38,6 @@ public class Group { ...@@ -37,21 +38,6 @@ public class Group {
this.chatRoomId = chatRoomId; this.chatRoomId = chatRoomId;
} }
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Group group = (Group) o;
return Objects.equals(members, group.members) &&
Objects.equals(projectId, group.projectId) &&
Objects.equals(chatRoomId, group.chatRoomId);
}
@Override
public int hashCode() {
return Objects.hash(members, projectId, chatRoomId);
}
public List<User> getMembers() { public List<User> getMembers() {
return members; return members;
} }
...@@ -83,4 +69,23 @@ public class Group { ...@@ -83,4 +69,23 @@ public class Group {
public int getId() { public int getId() {
return id; return id;
} }
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Group group = (Group) o;
List<User> newMemberList = members.stream()
.filter(member -> group.members.contains(member))
.collect(Collectors.toList());
return Objects.equals(members.size(), newMemberList.size()) &&
Objects.equals(members.size(), group.members.size()) &&
Objects.equals(projectId, group.projectId) &&
Objects.equals(chatRoomId, group.chatRoomId);
}
@Override
public int hashCode() {
return Objects.hash(members, projectId, chatRoomId);
}
} }
...@@ -2,6 +2,8 @@ package unipotsdam.gf.core.management.user; ...@@ -2,6 +2,8 @@ package unipotsdam.gf.core.management.user;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.util.Objects;
/** /**
* Created by dehne on 31.05.2018. * Created by dehne on 31.05.2018.
*/ */
...@@ -111,4 +113,17 @@ public class User { ...@@ -111,4 +113,17 @@ public class User {
", isStudent=" + isStudent + ", isStudent=" + isStudent +
'}'; '}';
} }
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
return Objects.equals(name, user.name) &&
Objects.equals(password, user.password) &&
Objects.equals(email, user.email) &&
Objects.equals(rocketChatAuthToken, user.rocketChatAuthToken) &&
Objects.equals(rocketChatId, user.rocketChatId) &&
Objects.equals(isStudent, user.isStudent);
}
} }
package unipotsdam.gf.core.management.group;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import uk.co.jemos.podam.api.PodamFactory;
import uk.co.jemos.podam.api.PodamFactoryImpl;
import unipotsdam.gf.core.database.InMemoryMySqlConnect;
import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.core.management.user.UserDAO;
import java.util.Arrays;
import static org.hamcrest.Matchers.is;
public class GroupDAOTest {
private InMemoryMySqlConnect inMemoryMySqlConnect;
private GroupDAO groupDAO;
private UserDAO userDAO;
private Group group;
private PodamFactory factory = new PodamFactoryImpl();
@Before
public void setUp() {
inMemoryMySqlConnect = new InMemoryMySqlConnect();
groupDAO = new GroupDAO(inMemoryMySqlConnect);
userDAO = new UserDAO(inMemoryMySqlConnect);
User userStudent = new User("Student", "password", "testStudent@mail.com", "1",
"1", "1", true);
User userDocent = new User("Docent", "password", "testDocent@mail.com",
"1", "1", "1", false);
userDAO.persist(userStudent, null);
userDAO.persist(userDocent, null);
group = new Group(Arrays.asList(userStudent, userDocent), "1", "1");
}
@Test
public void testPersist() {
groupDAO.persist(group);
Assert.assertThat(groupDAO.exists(group), is(true));
}
}
...@@ -3,23 +3,62 @@ package unipotsdam.gf.core.management.project; ...@@ -3,23 +3,62 @@ package unipotsdam.gf.core.management.project;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import unipotsdam.gf.core.database.InMemoryMySqlConnect; import unipotsdam.gf.core.database.InMemoryMySqlConnect;
import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
public class ProjectDAOTest { public class ProjectDAOTest {
private InMemoryMySqlConnect inMemoryMySqlConnect; private InMemoryMySqlConnect inMemoryMySqlConnect;
private ProjectDAO projectDAO;
private Project project;
@Before @Before
public void setUp() { public void setUp() {
inMemoryMySqlConnect = new InMemoryMySqlConnect(); inMemoryMySqlConnect = new InMemoryMySqlConnect();
projectDAO = new ProjectDAO(inMemoryMySqlConnect);
project = new Project("Gemeinsam Forschen", "1235", true, "me",
"keins");
} }
/**
* Test creating a user in the DB
*/
@Test @Test
public void testPersist() { public void testPersist() {
ProjectDAO projectDAO = new ProjectDAO(inMemoryMySqlConnect); projectDAO.persist(project);
projectDAO.persist(new Project("Gemeinsam Forschen", "1235", true, "me", "keins")); inMemoryMySqlConnect.connect();
String mysqlRequest = "SELECT * FROM projects where id = ? and adminPassword = ?";
VereinfachtesResultSet vereinfachtesResultSet =
inMemoryMySqlConnect.issueSelectStatement(mysqlRequest, project.getId(), project.getAdminPassword());
boolean result = vereinfachtesResultSet.next();
assertThat(result, is(true));
}
@Test
public void testExists() {
projectDAO.persist(project);
assertThat(projectDAO.exists(project), is(true));
}
@Test
public void testDelete() {
projectDAO.persist(project);
assertThat(projectDAO.exists(project), is(true));
projectDAO.delete(project);
assertThat(projectDAO.exists(project), is(false));
}
@Test
public void testGetProjectById() {
projectDAO.persist(project);
Project projectActual = projectDAO.getProjectById(project.getId());
assertEquals(project.getAdminPassword(), projectActual.getAdminPassword());
assertEquals(project.getAuthor(), projectActual.getAuthor());
assertEquals(project.getId(), projectActual.getId());
assertEquals(project.getPassword(), projectActual.getPassword());
assertEquals(project.getPhase(), projectActual.getPhase());
assertEquals(project.isActive(), projectActual.isActive());
} }
} }
...@@ -20,12 +20,12 @@ public class UserDAOTest { ...@@ -20,12 +20,12 @@ public class UserDAOTest {
private InMemoryMySqlConnect inMemoryMySqlConnect; private InMemoryMySqlConnect inMemoryMySqlConnect;
@Before @Before
public void setUp() throws Exception { public void setUp() {
inMemoryMySqlConnect = new InMemoryMySqlConnect(); inMemoryMySqlConnect = new InMemoryMySqlConnect();
} }
@After @After
public void tearDown() throws Exception { public void tearDown() {
inMemoryMySqlConnect.tearDown(); inMemoryMySqlConnect.tearDown();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment