Skip to content
Snippets Groups Projects
Commit cf6e0c88 authored by Yan0305's avatar Yan0305
Browse files

1

parent a6e9431f
Branches
No related tags found
No related merge requests found
package com.cardiff.wylTest;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.mockito.Mockito.*;
import com.cardiff.client_project.HealthCareApplication;
import com.cardiff.client_project.controller.admin.SuperAdminController;
import com.cardiff.client_project.pojo.dto.SelectDTO;
import com.cardiff.client_project.service.SuperAdminService;
import com.cardiff.client_project.utils.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.InjectMocks;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
@ExtendWith(MockitoExtension.class)
@SpringBootTest(classes = HealthCareApplication.class)
public class ComponentTest {
@Mock
private SuperAdminService superAdminService;
@InjectMocks
private SuperAdminController superAdminController;
private MockMvc mockMvc;
private ObjectMapper objectMapper;
@BeforeEach
public void setUp() {
mockMvc = MockMvcBuilders.standaloneSetup(superAdminController).build();
objectMapper = new ObjectMapper();
}
@Test
public void testSelectByItem() throws Exception {
SelectDTO selectDTO = new SelectDTO();
selectDTO.setName("26497@qq.com");
selectDTO.setPhone("111");
selectDTO.setStatus(1);
// Mocking the service call
Result mockResult = new Result(200, "success");
when(superAdminService.selectByItem(selectDTO)).thenReturn(mockResult);
// Perform the HTTP request
System.out.println(mockResult.getMsg());
mockMvc.perform(post("/superAdmin/select")
.contentType("application/json")
.content(objectMapper.writeValueAsString(selectDTO)))
.andExpect(status().isOk())
.andExpect(jsonPath("$.msg").value("success"));
}
}
package com.cardiff.wylTest;
import com.cardiff.client_project.utils.Result;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.ResponseEntity;
import java.util.HashMap;
import java.util.Map;
import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class HttpTest {
@Value(value="${local.server.port}")
private int port;
@Autowired
private TestRestTemplate restTemplate;
@Test
public void testFaultPage() throws Exception {
assertThat(this.restTemplate.getForObject("http://localhost:" + port + "/fault.html",
String.class)).contains("You do not have sufficient access rights, the page will be redirected to the login page within");
}
@Test
public void testLoginPage() throws Exception {
assertThat(this.restTemplate.getForObject("http://localhost:" + port + "/login.html",
String.class)).contains("Verification code");
}
@Test
public void testLogin() throws Exception {
String loginUrl = "http://localhost:" + port + "/superAdmin/sign";
Map<String, String> loginData = new HashMap<>();
loginData.put("name", "2649783657@qq.com");
loginData.put("password", "admin");
loginData.put("role","super");
loginData.put("status","1");
ResponseEntity<Result> loginResponse = this.restTemplate.postForEntity(loginUrl, loginData, Result.class);
assertThat(loginResponse.getStatusCode().value()).isEqualTo(200);
}
}
package com.cardiff.wylTest;
import com.cardiff.client_project.pojo.dto.SignUserDTO;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class JunitTest {
private static final Logger log = LoggerFactory.getLogger(JunitTest.class);
/**
* SignUserDTO class test
* private String name;
* private String password;
* private String email;
* private String phone;
* private String address;
* private String type;
* private String role;
* private int status;
*/
@Test
void TrueJuintTestDTO(){
SignUserDTO signUserDTO = new SignUserDTO("wyl","123","WangY567@cardiff.ac.uk","123456","city road","admin","SUPER",1);
assertEquals(signUserDTO.getName(),"wyl");
assertEquals(signUserDTO.getPassword(),"123");
assertEquals(signUserDTO.getEmail(),"WangY567@cardiff.ac.uk");
assertEquals(signUserDTO.getPhone(),"123456");
assertEquals(signUserDTO.getAddress(),"city road");
assertEquals(signUserDTO.getRole(),"SUPER");
assertEquals(signUserDTO.getStatus(),1);
}
}
package com.cardiff.wylTest;
import com.cardiff.client_project.HealthCareApplication;
import com.cardiff.client_project.config.WebSecurityConfig;
import com.cardiff.client_project.controller.admin.SuperAdminController;
import com.cardiff.client_project.pojo.dto.SelectDTO;
import com.cardiff.client_project.pojo.dto.SignUserDTO;
import com.cardiff.client_project.service.SuperAdminService;
import com.cardiff.client_project.utils.Result;
import org.junit.internal.Classes;
import org.junit.jupiter.api.Named;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.annotation.Import;
import org.springframework.http.MediaType;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import java.util.Arrays;
import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import com.fasterxml.jackson.databind.ObjectMapper;
import javax.naming.Name;
@ExtendWith(SpringExtension.class)
@WebMvcTest(SuperAdminController.class)
public class LightweightTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private SuperAdminService superAdminService;
@Autowired
private ObjectMapper objectMapper; // Jackson 用于 JSON 序列化
/**
* Testing the user registration interface
* private String name;
* private String password;
* private String email;
* private String phone;
* private String address;
* private String type;
* private String role;
* private int status;
*/
@WithMockUser(username = "2649783657@qq.com",password = "admin",roles = "super")
@Test
public void testSignIn() throws Exception {
SignUserDTO signUserDTO = new SignUserDTO();
signUserDTO.setName("57@qq.com");
signUserDTO.setPassword("admin");
signUserDTO.setEmail("57657@qq.com");
signUserDTO.setPhone("2649783657@qq.com");
signUserDTO.setAddress("test");
signUserDTO.setType("admin");
signUserDTO.setRole("admin");
signUserDTO.setStatus(1);
Result mockResult = Result.error("User registered error");
when(superAdminService.insertUserInform(any(SignUserDTO.class))).thenReturn(mockResult);
mockMvc.perform(post("/superAdmin/sign")
.contentType(MediaType.APPLICATION_JSON)
.content(objectMapper.writeValueAsString(signUserDTO)))
.andExpect(status().is(403));
}
/**
* Test the paging query interface
*/
@WithMockUser(username = "2649783657@qq.com",password = "admin")
@Test
public void testPageSelect() throws Exception {
Result mockResult = Result.success("Page select success");
when(superAdminService.selectPage("admin", 10, 1)).thenReturn(mockResult);
mockMvc.perform(get("/superAdmin/pageSelect")
.param("type", "admin")
.param("pageSize", "10")
.param("pageNumber", "1"))
.andExpect(status().isOk())
.andExpect(jsonPath("$.msg").value("Page select success"));
}
}
package com.cardiff.wylTest;
import com.cardiff.client_project.pojo.dto.SelectDTO;
import com.cardiff.client_project.pojo.dto.SignUserDTO;
import com.cardiff.client_project.service.SuperAdminService;
import com.cardiff.client_project.utils.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import java.util.Arrays;
import java.util.List;
import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@SpringBootTest
@AutoConfigureMockMvc
public class SuperAdminControllErintegrationTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private SuperAdminService superAdminService;
@Test
void testSignIn() throws Exception {
// Construct test data
SignUserDTO signDTO = new SignUserDTO();
signDTO.setName("testUser");
signDTO.setPassword("password123");
Result expectedResult = Result.success("User registered successfully");
when(superAdminService.insertUserInform(any(SignUserDTO.class))).thenReturn(expectedResult);
// post
mockMvc.perform(post("/superAdmin/sign")
.contentType(MediaType.APPLICATION_JSON)
.content(new ObjectMapper().writeValueAsString(signDTO)))
.andExpect(status().isOk())
.andExpect(jsonPath("$.msg").value("User registered successfully"));
// Verify that the service layer is invoked
verify(superAdminService, times(1)).insertUserInform(any(SignUserDTO.class));
}
@Test
void testDeleteHospitalById() throws Exception {
List<Integer> ids = Arrays.asList(1, 2, 3);
Result mockResult = Result.success("successfully");
when(superAdminService.deleteById(eq(ids), eq("hospital"))).thenReturn(mockResult);
mockMvc.perform(delete("/superAdmin/deleteHospitalById")
.contentType(MediaType.APPLICATION_JSON)
.content(new ObjectMapper().writeValueAsString(ids)))
.andExpect(status().isOk())
.andExpect(jsonPath("$.code").value(1))
.andExpect(jsonPath("$.msg").value("successfully"));
verify(superAdminService, times(1)).deleteById(eq(ids), eq("hospital"));
}
@Test
void testSelectByItem() throws Exception {
SelectDTO selectDTO = new SelectDTO();
selectDTO.setName("testQuery");
Result mockResult = Result.success("Query successful");
when(superAdminService.selectByItem(any(SelectDTO.class))).thenReturn(mockResult);
mockMvc.perform(post("/superAdmin/select")
.contentType(MediaType.APPLICATION_JSON)
.content(new ObjectMapper().writeValueAsString(selectDTO)))
.andExpect(status().isOk())
.andExpect(jsonPath("$.code").value(1))
.andExpect(jsonPath("$.msg").value("Query successful"));
verify(superAdminService, times(1)).selectByItem(any(SelectDTO.class));
}
@Test
void testUpdateById() throws Exception {
SelectDTO selectDTO = new SelectDTO();
selectDTO.setId(1);
selectDTO.setName("newData");
Result mockResult = Result.success("Update successful");
when(superAdminService.update(any(SelectDTO.class))).thenReturn(mockResult);
mockMvc.perform(put("/superAdmin/update")
.contentType(MediaType.APPLICATION_JSON)
.content(new ObjectMapper().writeValueAsString(selectDTO)))
.andExpect(status().isOk())
.andExpect(jsonPath("$.code").value(1))
.andExpect(jsonPath("$.msg").value("Update successful"));
verify(superAdminService, times(1)).update(any(SelectDTO.class));
}
}
package com.cardiff.wylTest;
import com.cardiff.client_project.mapper.SuperAdminMapper;
import com.cardiff.client_project.pojo.vo.AdminVO;
import com.cardiff.client_project.service.imp.SuperAdminServiceImp;
import com.cardiff.client_project.utils.Result;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import java.util.Arrays;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.when;
class SuperAdminServiceJuintTest {
@Mock
private SuperAdminMapper superAdminMapper;
@InjectMocks
private SuperAdminServiceImp superAdminService; // 假设你的类名是 SuperAdminService
@BeforeEach
void setUp() {
MockitoAnnotations.openMocks(this);
}
@Test
void testSelectAllAdmin() {
// Arrange: Prepare mock data
AdminVO admin1 = new AdminVO();
admin1.setId(1);
admin1.setName("Admin_A");
admin1.setStatus(1);
List<AdminVO> mockAdmins = Arrays.asList(admin1);
// Mock superAdminMapper behavior
when(superAdminMapper.selectAllAdmin()).thenReturn(mockAdmins);
// Act: Call the method
Result result = superAdminService.selectAllAdmin();
// Assert: Verify the result
List<AdminVO> adminVOS = (List<AdminVO>) result.getData();
assertEquals(1, adminVOS.size());
assertEquals("Admin_A", adminVOS.get(0).getName());
assertEquals("ACTIVE", adminVOS.get(0).getStatus_str());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment