test code(+mockmvc)
2022. 6. 13. 10:56ㆍtest
package com.imedisync.me.controller.api;
import com.imedisync.me.entity.UserEntity;
import com.imedisync.me.repository.UserRepository;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.transaction.annotation.Transactional;
import java.util.Optional;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@SpringBootTest
@Transactional
class OrgUserControllerTest {
@Autowired
OrgUserController orgUserController;
@Autowired
UserRepository userRepository;
private MockMvc mock;
@BeforeEach
public void setup() {
mock = MockMvcBuilders.standaloneSetup(orgUserController).build();
}
@Test
void orgUserAdd() throws Exception {
/**
* userType 파라미터 필수여부 변경 Test (필수->선택)
* */
String firstName = "firstName";
String lastName = "lastName";
String email = "testEmail@test.com";
String uid = "6ac749a1-3e4b-40d7-a3c2-d1332375f3c8";
MockHttpServletRequestBuilder builder = post("/api/org/user/v1/create")
.param("firstName", firstName)
.param("lastName", lastName)
.param("email", email)
.param("uid", uid);
// http status 확인
mock.perform(builder).andExpect(status().is(200));
// 기관사용자 등록 후 확인
Assertions.assertNotNull(userRepository.getByEmail(email).get());
}
}