feat: user signup repository Test and fix Autowired DI -> constructor DI
This commit is contained in:
@@ -3,6 +3,7 @@ package com.io.realworld.api.users;
|
|||||||
import com.io.realworld.DTO.UserSignupRequest;
|
import com.io.realworld.DTO.UserSignupRequest;
|
||||||
import com.io.realworld.DTO.UserResponse;
|
import com.io.realworld.DTO.UserResponse;
|
||||||
import com.io.realworld.repository.User;
|
import com.io.realworld.repository.User;
|
||||||
|
import com.io.realworld.service.UserService;
|
||||||
import com.io.realworld.service.UserServiceImpl;
|
import com.io.realworld.service.UserServiceImpl;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@@ -12,9 +13,13 @@ import javax.validation.Valid;
|
|||||||
@RestController
|
@RestController
|
||||||
public class UserController {
|
public class UserController {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private UserServiceImpl userService;
|
private UserServiceImpl userService;
|
||||||
|
|
||||||
|
public UserController(UserServiceImpl userService) {
|
||||||
|
this.userService = userService;
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/users")
|
@PostMapping("/users")
|
||||||
public UserResponse signup(@Valid @RequestBody UserSignupRequest userSignupRequest) {
|
public UserResponse signup(@Valid @RequestBody UserSignupRequest userSignupRequest) {
|
||||||
User user = userService.signup(userSignupRequest);
|
User user = userService.signup(userSignupRequest);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import org.springframework.boot.ApplicationArguments;
|
|||||||
import org.springframework.boot.ApplicationRunner;
|
import org.springframework.boot.ApplicationRunner;
|
||||||
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
@@ -13,11 +14,16 @@ import java.sql.Statement;
|
|||||||
@Component
|
@Component
|
||||||
public class H2SQLRunner implements ApplicationRunner {
|
public class H2SQLRunner implements ApplicationRunner {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
DataSource dataSource;
|
DataSource dataSource;
|
||||||
|
JdbcTemplate jdbcTemplate;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
JdbcTemplate jdbcTemplate;
|
public H2SQLRunner(DataSource dataSource, JdbcTemplate jdbcTemplate) {
|
||||||
|
this.dataSource = dataSource;
|
||||||
|
this.jdbcTemplate = jdbcTemplate;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run(ApplicationArguments args) throws Exception {
|
public void run(ApplicationArguments args) throws Exception {
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package com.io.realworld.repository;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
|
||||||
|
@DataJpaTest
|
||||||
|
class UserRepositoryTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserRepository userRepository;
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("회원가입 레포 테스트")
|
||||||
|
void save() {
|
||||||
|
|
||||||
|
//given
|
||||||
|
User user = user();
|
||||||
|
|
||||||
|
//when
|
||||||
|
User saved_user = userRepository.save(user);
|
||||||
|
|
||||||
|
//then
|
||||||
|
assertThat(saved_user.getUsername()).isEqualTo(user.getUsername());
|
||||||
|
assertThat(saved_user.getEmail()).isEqualTo(user.getEmail());
|
||||||
|
assertThat(saved_user.getBio()).isEqualTo(user.getBio());
|
||||||
|
assertThat(saved_user.getPassword()).isEqualTo(user.getPassword());
|
||||||
|
assertThat(saved_user.getImage()).isEqualTo(user.getImage());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private User user() {
|
||||||
|
return User.builder()
|
||||||
|
.username("kms")
|
||||||
|
.email("kms@gamil.com")
|
||||||
|
.bio("1")
|
||||||
|
.image("image")
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user