test: Increase test coverage #33
					 1 changed files with 50 additions and 0 deletions
				
			
		test(hello): add integration test for CreateHello endpoint
				commit
				
					
					
						0fb924f93d
					
				
			
		|  | @ -0,0 +1,50 @@ | ||||||
|  | package de.szut.lf8_starter.integration.hello; | ||||||
|  | 
 | ||||||
|  | import de.szut.lf8_starter.hello.HelloRepository; | ||||||
|  | import org.json.JSONObject; | ||||||
|  | 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.http.MediaType; | ||||||
|  | import org.springframework.test.web.servlet.MockMvc; | ||||||
|  | 
 | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.util.Arrays; | ||||||
|  | 
 | ||||||
|  | import static org.assertj.core.api.Assertions.assertThat; | ||||||
|  | import static org.hamcrest.Matchers.is; | ||||||
|  | import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; | ||||||
|  | import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; | ||||||
|  | import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; | ||||||
|  | 
 | ||||||
|  | @SpringBootTest | ||||||
|  | @AutoConfigureMockMvc(addFilters = false) | ||||||
|  | class CreateHelloTest { | ||||||
|  |     @Autowired | ||||||
|  |     private MockMvc mockMvc; | ||||||
|  |     @Autowired | ||||||
|  |     private HelloRepository helloRepository; | ||||||
|  |     @Test | ||||||
|  |     void createProjectTest() throws Exception { | ||||||
|  |         String content = """ | ||||||
|  |                 { | ||||||
|  |                     "message": "test" | ||||||
|  |                   } | ||||||
|  |                 """; | ||||||
|  | 
 | ||||||
|  |         final var contentAsString = this.mockMvc.perform( | ||||||
|  |                         post("/hello").content(content).contentType(MediaType.APPLICATION_JSON) | ||||||
|  |                 ) | ||||||
|  |                 .andExpect(status().isOk()) | ||||||
|  |                 .andExpect(jsonPath("message", is("test"))) | ||||||
|  |                 .andReturn() | ||||||
|  |                 .getResponse() | ||||||
|  |                 .getContentAsString(); | ||||||
|  | 
 | ||||||
|  |         final var id = Long.parseLong(new JSONObject(contentAsString).get("id").toString()); | ||||||
|  | 
 | ||||||
|  |         final var hello = this.helloRepository.findById(id); | ||||||
|  |         assertThat(hello.get().getMessage()).isEqualTo("test"); | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in a new issue