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.UserResponse;
|
||||
import com.io.realworld.repository.User;
|
||||
import com.io.realworld.service.UserService;
|
||||
import com.io.realworld.service.UserServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -12,9 +13,13 @@ import javax.validation.Valid;
|
||||
@RestController
|
||||
public class UserController {
|
||||
|
||||
@Autowired
|
||||
|
||||
private UserServiceImpl userService;
|
||||
|
||||
public UserController(UserServiceImpl userService) {
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@PostMapping("/users")
|
||||
public UserResponse signup(@Valid @RequestBody UserSignupRequest userSignupRequest) {
|
||||
User user = userService.signup(userSignupRequest);
|
||||
|
||||
@@ -5,6 +5,7 @@ import org.springframework.boot.ApplicationArguments;
|
||||
import org.springframework.boot.ApplicationRunner;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.Statement;
|
||||
@@ -13,11 +14,16 @@ import java.sql.Statement;
|
||||
@Component
|
||||
public class H2SQLRunner implements ApplicationRunner {
|
||||
|
||||
@Autowired
|
||||
|
||||
DataSource dataSource;
|
||||
JdbcTemplate jdbcTemplate;
|
||||
|
||||
@Autowired
|
||||
JdbcTemplate jdbcTemplate;
|
||||
public H2SQLRunner(DataSource dataSource, JdbcTemplate jdbcTemplate) {
|
||||
this.dataSource = dataSource;
|
||||
this.jdbcTemplate = jdbcTemplate;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
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