tests #43
@ -103,11 +103,11 @@ public class User {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
User user = (User) o;
|
||||
return Objects.equals(id, user.id) && Objects.equals(username, user.username) && Objects.equals(email, user.email) && Objects.equals(password, user.password) && Objects.equals(roles, user.roles);
|
||||
return Objects.equals(username, user.username) && Objects.equals(email, user.email) && Objects.equals(password, user.password) && Objects.equals(roles, user.roles);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(id, username, email, password, roles);
|
||||
return Objects.hash(username, email, password, roles);
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
@DataJpaTest
|
||||
@ -27,11 +28,75 @@ public class UserRepositoryTests {
|
||||
|
||||
@Test
|
||||
void test_findByUsername() {
|
||||
//Situation 1: No user is present in the database, so no user should be found by a given username
|
||||
assertTrue(userRepository.findByUsername("FawKes100").isEmpty());
|
||||
userRepository.save(new User(1L,"FawKes100", "mail@fawkes100.de", "123456"));
|
||||
|
||||
//persist a user to the database, so a user is present
|
||||
testEntityManager.persist(new User("FawKes100", "mail@fawkes100.de", "123456"));
|
||||
|
||||
//Situation 2: User with name "FawKes100" is present
|
||||
Optional<User> findResult = userRepository.findByUsername("FawKes100");
|
||||
assertTrue(findResult.isPresent());
|
||||
assertEquals(new User(1L, "FawKes100", "mail@fawkes100.de", "123456"),findResult.get());
|
||||
assertEquals(new User("FawKes100", "mail@fawkes100.de", "123456"),findResult.get());
|
||||
|
||||
//Situation 3: No user with the required name is present
|
||||
findResult = userRepository.findByUsername("fawkes1001");
|
||||
assertFalse(findResult.isPresent());
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_existsByMail() {
|
||||
//Situation 1: invalid email format should not matter
|
||||
assertFalse(userRepository.existsByEmail("FawKes100"));
|
||||
|
||||
//Situation 2: No user exists with such a mail
|
||||
assertFalse(userRepository.existsByEmail("mail@fawkes100.de"));
|
||||
|
||||
//persist a user to the database, so a user is present
|
||||
testEntityManager.persist(new User("FawKes100", "mail@fawkes100.de", "123456"));
|
||||
|
||||
//Situation 3: User with this mail exists
|
||||
assertTrue(userRepository.existsByEmail("mail@fawkes100.de"));
|
||||
|
||||
//Situation 4: No user exists with such a mail (non-empty db)
|
||||
assertFalse(userRepository.existsByEmail("mail2@fawkes100.de"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_existsByUsername() {
|
||||
//Situation 1: Empty database
|
||||
assertFalse(userRepository.existsByUsername("FawKes100"));
|
||||
|
||||
//persist a user to the database, so a user is present
|
||||
testEntityManager.persist(new User("FawKes100", "mail@fawkes100.de", "123456"));
|
||||
|
||||
//Situation 3: User with this name exists
|
||||
assertTrue(userRepository.existsByUsername("FawKes100"));
|
||||
|
||||
//Situation 4: No user exists with such a mail (non-empty db)
|
||||
assertFalse(userRepository.existsByUsername("FawKes101"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_deleteUserByName() {
|
||||
//persist a user to the database, so a user is present
|
||||
User user = testEntityManager.persist(new User("FawKes100", "mail@fawkes100.de", "123456"));
|
||||
User user1 = testEntityManager.persist(new User("FawKes101", "mail@fawkes101.de", "123456"));
|
||||
|
||||
userRepository.deleteByUsername("FawKes100");
|
||||
|
||||
assertThat(testEntityManager.find(User.class, user.getId())).isNull();
|
||||
assertThat(testEntityManager.find(User.class, user1.getId())).isNotNull();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void test_countUsers() {
|
||||
assertEquals(0, userRepository.countUsers());
|
||||
|
||||
testEntityManager.persist(new User("FawKes100", "mail@fawkes100.de", "123456"));
|
||||
assertEquals(1, userRepository.countUsers());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user