2017-08-15 09:47:18 +07:00
|
|
|
package io.spring.api;
|
|
|
|
|
2017-08-18 16:08:27 +07:00
|
|
|
import io.spring.application.data.UserData;
|
2017-08-24 09:39:09 +07:00
|
|
|
import io.spring.core.service.JwtService;
|
2017-08-15 09:47:18 +07:00
|
|
|
import io.spring.core.user.User;
|
|
|
|
import io.spring.core.user.UserRepository;
|
2017-08-24 09:39:09 +07:00
|
|
|
import io.spring.infrastructure.mybatis.readservice.UserReadService;
|
|
|
|
import org.junit.Before;
|
2017-10-27 12:30:26 +07:00
|
|
|
import org.junit.runner.RunWith;
|
2017-08-15 09:47:18 +07:00
|
|
|
import org.springframework.boot.test.mock.mockito.MockBean;
|
2017-10-27 12:30:26 +07:00
|
|
|
import org.springframework.test.context.junit4.SpringRunner;
|
2017-08-15 09:47:18 +07:00
|
|
|
|
|
|
|
import java.util.Optional;
|
|
|
|
|
2018-05-10 13:50:44 +07:00
|
|
|
import static org.mockito.ArgumentMatchers.eq;
|
2017-08-15 09:47:18 +07:00
|
|
|
import static org.mockito.Mockito.when;
|
|
|
|
|
2017-10-27 12:30:26 +07:00
|
|
|
@RunWith(SpringRunner.class)
|
2017-08-25 10:34:41 +07:00
|
|
|
abstract class TestWithCurrentUser {
|
2017-08-15 09:47:18 +07:00
|
|
|
@MockBean
|
|
|
|
protected UserRepository userRepository;
|
|
|
|
|
|
|
|
@MockBean
|
|
|
|
protected UserReadService userReadService;
|
|
|
|
|
|
|
|
protected User user;
|
|
|
|
protected UserData userData;
|
|
|
|
protected String token;
|
2017-08-16 14:58:51 +07:00
|
|
|
protected String email;
|
|
|
|
protected String username;
|
|
|
|
protected String defaultAvatar;
|
2017-08-15 09:47:18 +07:00
|
|
|
|
2017-08-24 09:39:09 +07:00
|
|
|
@MockBean
|
2017-08-15 17:16:06 +07:00
|
|
|
protected JwtService jwtService;
|
2017-08-15 09:47:18 +07:00
|
|
|
|
2017-08-16 14:58:51 +07:00
|
|
|
protected void userFixture() {
|
|
|
|
email = "john@jacob.com";
|
|
|
|
username = "johnjacob";
|
|
|
|
defaultAvatar = "https://static.productionready.io/images/smiley-cyrus.jpg";
|
|
|
|
|
2017-08-15 09:47:18 +07:00
|
|
|
user = new User(email, username, "123", "", defaultAvatar);
|
|
|
|
when(userRepository.findByUsername(eq(username))).thenReturn(Optional.of(user));
|
2017-08-18 16:08:27 +07:00
|
|
|
when(userRepository.findById(eq(user.getId()))).thenReturn(Optional.of(user));
|
2017-08-15 09:47:18 +07:00
|
|
|
|
|
|
|
userData = new UserData(user.getId(), email, username, "", defaultAvatar);
|
2017-08-18 16:08:27 +07:00
|
|
|
when(userReadService.findById(eq(user.getId()))).thenReturn(userData);
|
2017-08-15 09:47:18 +07:00
|
|
|
|
2017-08-24 09:39:09 +07:00
|
|
|
token = "token";
|
|
|
|
when(jwtService.getSubFromToken(eq(token))).thenReturn(Optional.of(user.getId()));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Before
|
|
|
|
public void setUp() throws Exception {
|
|
|
|
userFixture();
|
2017-08-15 09:47:18 +07:00
|
|
|
}
|
|
|
|
}
|