From 59609dfe089d5be2fd28bf6d849fcf575b5793da Mon Sep 17 00:00:00 2001 From: Mirna Gama Date: Wed, 10 Jan 2024 15:06:44 -0300 Subject: [PATCH] [R7] Unit test method for put patient --- .../controllers/PatientControllerTest.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/test/java/com/mirna/hospitalmanagementapi/unit/application/controllers/PatientControllerTest.java b/src/test/java/com/mirna/hospitalmanagementapi/unit/application/controllers/PatientControllerTest.java index 2d71ceb..9802461 100644 --- a/src/test/java/com/mirna/hospitalmanagementapi/unit/application/controllers/PatientControllerTest.java +++ b/src/test/java/com/mirna/hospitalmanagementapi/unit/application/controllers/PatientControllerTest.java @@ -18,6 +18,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import com.fasterxml.jackson.databind.ObjectMapper; import com.mirna.hospitalmanagementapi.domain.dtos.AddressDTO; import com.mirna.hospitalmanagementapi.domain.dtos.patient.PatientDTO; +import com.mirna.hospitalmanagementapi.domain.dtos.patient.PatientUpdatedDataDTO; import com.mirna.hospitalmanagementapi.domain.entities.Patient; import com.mirna.hospitalmanagementapi.domain.repositories.PatientRepository; @@ -123,4 +124,36 @@ public class PatientControllerTest { .characterEncoding("UTF-8")) .andExpect(MockMvcResultMatchers.status().isOk()).andDo(MockMvcResultHandlers.print()); } + + /** + * Put a valid patient + */ + @Test + @DisplayName("Should put a valid patient and return http status ok") + public void testPutValidDoctor() throws Exception { + + PatientUpdatedDataDTO patientUpdatedDataDTO = new PatientUpdatedDataDTO(testPatient.getId(), "updated_test", null, null); + + String patientUpdatedDataDTOContent = mapper.writeValueAsString(patientUpdatedDataDTO); + + mockMvc.perform(MockMvcRequestBuilders.put("/api/v1.0/patients").contentType(MediaType.APPLICATION_JSON) + .characterEncoding("UTF-8").content(patientUpdatedDataDTOContent)) + .andExpect(MockMvcResultMatchers.status().isOk()).andDo(MockMvcResultHandlers.print()); + } + + /** + * Avoid putting a invalid patient. + */ + @Test + @DisplayName("Should not put invalid patient and return http status bad request") + public void testPutInvalidDoctor() throws Exception { + + PatientUpdatedDataDTO patientUpdatedDataDTO = new PatientUpdatedDataDTO(null, "updated_test", null, null); + + String patientUpdatedDataDTOContent = mapper.writeValueAsString(patientUpdatedDataDTO); + + mockMvc.perform(MockMvcRequestBuilders.put("/api/v1.0/patients").contentType(MediaType.APPLICATION_JSON) + .characterEncoding("UTF-8").content(patientUpdatedDataDTOContent)) + .andExpect(MockMvcResultMatchers.status().isBadRequest()).andDo(MockMvcResultHandlers.print()); + } }