Skip to content
Snippets Groups Projects
Commit a167d2c7 authored by Mingyuan Chen's avatar Mingyuan Chen
Browse files

Revert "Merge branch 'wyl' into 'main'"

This reverts merge request !39
parent cb5bda43
No related branches found
No related tags found
1 merge request!44Revert "Merge branch 'wyl' into 'main'"
package com.cardiff.client_project;
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.mockito.ArgumentMatchers;
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 SuperAdminControllerTest {
@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));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment