feat: user signup repository Test and fix Autowired DI -> constructor DI

This commit is contained in:
kms
2022-09-12 19:01:17 +09:00
parent bcd96446c9
commit c4e18501e2
3 changed files with 59 additions and 3 deletions

View File

@@ -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);

View File

@@ -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 {

View File

@@ -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();
}
}