77 lines
2.7 KiB
Java
77 lines
2.7 KiB
Java
package io.spring.infrastructure.user;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertFalse;
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import io.spring.core.user.FollowRelation;
|
|
import io.spring.core.user.User;
|
|
import io.spring.core.user.UserRepository;
|
|
import io.spring.infrastructure.DbTestBase;
|
|
import io.spring.infrastructure.repository.MyBatisUserRepository;
|
|
import java.util.Optional;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.context.annotation.Import;
|
|
|
|
@Import(MyBatisUserRepository.class)
|
|
public class MyBatisUserRepositoryTest extends DbTestBase {
|
|
@Autowired private UserRepository userRepository;
|
|
private User user;
|
|
|
|
@Before
|
|
public void setUp() {
|
|
user = new User("aisensiy@163.com", "aisensiy", "123", "", "default");
|
|
}
|
|
|
|
@Test
|
|
public void should_save_and_fetch_user_success() {
|
|
userRepository.save(user);
|
|
Optional<User> userOptional = userRepository.findByUsername("aisensiy");
|
|
assertEquals(userOptional.get(), user);
|
|
Optional<User> userOptional2 = userRepository.findByEmail("aisensiy@163.com");
|
|
assertEquals(userOptional2.get(), user);
|
|
}
|
|
|
|
@Test
|
|
public void should_update_user_success() {
|
|
String newEmail = "newemail@email.com";
|
|
user.update(newEmail, "", "", "", "");
|
|
userRepository.save(user);
|
|
Optional<User> optional = userRepository.findByUsername(user.getUsername());
|
|
assertTrue(optional.isPresent());
|
|
assertEquals(optional.get().getEmail(), newEmail);
|
|
|
|
String newUsername = "newUsername";
|
|
user.update("", newUsername, "", "", "");
|
|
userRepository.save(user);
|
|
optional = userRepository.findByEmail(user.getEmail());
|
|
assertTrue(optional.isPresent());
|
|
assertEquals(optional.get().getUsername(), newUsername);
|
|
assertEquals(optional.get().getImage(), user.getImage());
|
|
}
|
|
|
|
@Test
|
|
public void should_create_new_user_follow_success() {
|
|
User other = new User("other@example.com", "other", "123", "", "");
|
|
userRepository.save(other);
|
|
|
|
FollowRelation followRelation = new FollowRelation(user.getId(), other.getId());
|
|
userRepository.saveRelation(followRelation);
|
|
assertTrue(userRepository.findRelation(user.getId(), other.getId()).isPresent());
|
|
}
|
|
|
|
@Test
|
|
public void should_unfollow_user_success() {
|
|
User other = new User("other@example.com", "other", "123", "", "");
|
|
userRepository.save(other);
|
|
|
|
FollowRelation followRelation = new FollowRelation(user.getId(), other.getId());
|
|
userRepository.saveRelation(followRelation);
|
|
|
|
userRepository.removeRelation(followRelation);
|
|
assertFalse(userRepository.findRelation(user.getId(), other.getId()).isPresent());
|
|
}
|
|
}
|