diff --git a/spring-migration/src/test/java/com/example/migration/SpringMigrationApplicationTests.java b/spring-migration/src/test/java/com/example/migration/SpringMigrationApplicationTests.java new file mode 100644 index 0000000..e3a98fb --- /dev/null +++ b/spring-migration/src/test/java/com/example/migration/SpringMigrationApplicationTests.java @@ -0,0 +1,56 @@ +package com.example.migration; + +import com.example.migration.controller.SampleController; +import com.example.migration.service.SampleService; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.web.servlet.MockMvc; + +import java.util.List; + +import static org.mockito.Mockito.when; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +/** + * Spring Boot Application 및 Controller 테스트 + */ +@WebMvcTest(SampleController.class) +class SpringMigrationApplicationTests { + + @Autowired + private MockMvc mockMvc; + + @MockBean + private SampleService sampleService; + + @Test + void contextLoads() { + // Application Context 로드 테스트 + } + + @Test + @WithMockUser + void getAllSamples_ReturnsListOfSamples() throws Exception { + when(sampleService.getAllSamples()).thenReturn(List.of( + new com.example.migration.dto.SampleResponse(1L, "Test 1", "Description 1"), + new com.example.migration.dto.SampleResponse(2L, "Test 2", "Description 2") + )); + + mockMvc.perform(get("/api/samples")) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.success").value(true)) + .andExpect(jsonPath("$.data").isArray()) + .andExpect(jsonPath("$.data.length()").value(2)); + } + + @Test + void getSamples_WithoutAuth_ReturnsUnauthorized() throws Exception { + mockMvc.perform(get("/api/samples")) + .andExpect(status().isUnauthorized()); + } +}