diff --git a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/privateschedule/controller/PrivateScheduleAdminController.java b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/privateschedule/controller/PrivateScheduleAdminController.java index 68f41d79f..037376730 100644 --- a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/privateschedule/controller/PrivateScheduleAdminController.java +++ b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/privateschedule/controller/PrivateScheduleAdminController.java @@ -1,17 +1,18 @@ package gg.calendar.api.admin.schedule.privateschedule.controller; -import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import gg.calendar.api.admin.schedule.privateschedule.service.PrivateScheduleAdminService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @Slf4j @RestController @RequiredArgsConstructor -@RequestMapping("/admin/calendar") +@RequestMapping("/admin/calendar/private") public class PrivateScheduleAdminController { + private final PrivateScheduleAdminService privateScheduleAdminService; } diff --git a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/controller/PublicScheduleAdminController.java b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/controller/PublicScheduleAdminController.java index 555253c77..5966b2ca5 100644 --- a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/controller/PublicScheduleAdminController.java +++ b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/controller/PublicScheduleAdminController.java @@ -5,7 +5,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -19,9 +18,6 @@ import gg.calendar.api.admin.schedule.publicschedule.controller.response.PublicScheduleAdminResDto; import gg.calendar.api.admin.schedule.publicschedule.controller.response.PublicScheduleAdminUpdateResDto; import gg.calendar.api.admin.schedule.publicschedule.service.PublicScheduleAdminService; -import gg.data.calendar.type.DetailClassification; -import gg.utils.dto.PageRequestDto; -import gg.utils.dto.PageResponseDto; import lombok.RequiredArgsConstructor; @RestController @@ -38,18 +34,6 @@ public ResponseEntity publicScheduleCreate( return ResponseEntity.status(HttpStatus.CREATED).build(); } - @GetMapping("/list/{detailClassification}") - public ResponseEntity> publicScheduleAdminClassificationList( - @PathVariable DetailClassification detailClassification, @ModelAttribute @Valid PageRequestDto pageRequestDto) { - int page = pageRequestDto.getPage(); - int size = pageRequestDto.getSize(); - - PageResponseDto pageResponseDto = publicScheduleAdminService.findAllByClassification( - detailClassification, page, size); - - return ResponseEntity.ok(pageResponseDto); - } - @PutMapping("/{id}") public ResponseEntity publicScheduleUpdate( @RequestBody @Valid PublicScheduleAdminUpdateReqDto publicScheduleAdminUpdateReqDto, diff --git a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/controller/response/PublicScheduleAdminResDto.java b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/controller/response/PublicScheduleAdminResDto.java index 5557b42ed..327844e8a 100644 --- a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/controller/response/PublicScheduleAdminResDto.java +++ b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/controller/response/PublicScheduleAdminResDto.java @@ -56,12 +56,4 @@ public PublicScheduleAdminResDto(PublicSchedule publicSchedule) { this.sharedCount = publicSchedule.getSharedCount(); this.status = publicSchedule.getStatus(); } - - @Override - public String toString() { - return "PublicScheduleAdminResDto{" + "id=" + id + ", classification=" + classification + ", eventTag=" - + eventTag + ", jobTag=" + jobTag + ", techTag=" + techTag + ", author='" + author + '\'' + ", title='" - + title + '\'' + ", startTime=" + startTime + ", endTime=" + endTime + ", link='" + link + '\'' - + ", sharedCount=" + sharedCount + ", status=" + status + '}'; - } } diff --git a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/service/PublicScheduleAdminService.java b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/service/PublicScheduleAdminService.java index c2e7a4b19..bfdca9fe2 100644 --- a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/service/PublicScheduleAdminService.java +++ b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/publicschedule/service/PublicScheduleAdminService.java @@ -1,13 +1,7 @@ package gg.calendar.api.admin.schedule.publicschedule.service; import java.time.LocalDateTime; -import java.util.List; -import java.util.stream.Collectors; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -17,9 +11,7 @@ import gg.calendar.api.admin.schedule.publicschedule.controller.response.PublicScheduleAdminResDto; import gg.calendar.api.admin.schedule.publicschedule.controller.response.PublicScheduleAdminUpdateResDto; import gg.data.calendar.PublicSchedule; -import gg.data.calendar.type.DetailClassification; import gg.data.calendar.type.ScheduleStatus; -import gg.utils.dto.PageResponseDto; import gg.utils.exception.ErrorCode; import gg.utils.exception.custom.InvalidParameterException; import gg.utils.exception.custom.NotExistException; @@ -42,21 +34,6 @@ public void createPublicSchedule(PublicScheduleAdminCreateReqDto publicScheduleA publicScheduleAdminRepository.save(publicSchedule); } - public PageResponseDto findAllByClassification(DetailClassification detailClassification, - int page, int size) { - - Pageable pageable = PageRequest.of(page - 1, size, - Sort.by(Sort.Order.asc("status"), Sort.Order.asc("startTime"))); - - Page publicSchedules = publicScheduleAdminRepository.findAllByClassification( - detailClassification, pageable); - - List publicScheduleList = publicSchedules.stream() - .map(PublicScheduleAdminResDto::new) - .collect(Collectors.toList()); - return PageResponseDto.of(publicSchedules.getTotalElements(), publicScheduleList); - } - @Transactional public PublicScheduleAdminUpdateResDto updatePublicSchedule( PublicScheduleAdminUpdateReqDto publicScheduleAdminUpdateReqDto, Long id) { @@ -80,10 +57,14 @@ public PublicScheduleAdminUpdateResDto updatePublicSchedule( public void deletePublicSchedule(Long id) { PublicSchedule publicSchedule = publicScheduleAdminRepository.findById(id) .orElseThrow(() -> new NotExistException(ErrorCode.PUBLIC_SCHEDULE_NOT_FOUND)); + isDeleted(publicSchedule); + publicSchedule.delete(); + } + + private void isDeleted(PublicSchedule publicSchedule) { if (publicSchedule.getStatus().equals(ScheduleStatus.DELETE)) { throw new InvalidParameterException(ErrorCode.PUBLIC_SCHEDULE_ALREADY_DELETED); } - publicSchedule.delete(); } public PublicScheduleAdminResDto detailPublicSchedule(Long id) { diff --git a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/controller/TotalScheduleAdminController.java b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/controller/TotalScheduleAdminController.java new file mode 100644 index 000000000..c7151b20d --- /dev/null +++ b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/controller/TotalScheduleAdminController.java @@ -0,0 +1,37 @@ +package gg.calendar.api.admin.schedule.totalschedule.controller; + +import javax.validation.Valid; + +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import gg.calendar.api.admin.schedule.totalschedule.controller.response.TotalScheduleAdminResDto; +import gg.calendar.api.admin.schedule.totalschedule.service.TotalScheduleAdminService; +import gg.data.calendar.type.DetailClassification; +import gg.utils.dto.PageRequestDto; +import gg.utils.dto.PageResponseDto; +import lombok.RequiredArgsConstructor; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/admin/calendar") +public class TotalScheduleAdminController { + + private final TotalScheduleAdminService totalScheduleAdminService; + + @GetMapping("/list/{detailClassification}") + public ResponseEntity> totalScheduleAdminClassificationList( + @PathVariable DetailClassification detailClassification, @ModelAttribute @Valid PageRequestDto pageRequestDto) { + int page = pageRequestDto.getPage(); + int size = pageRequestDto.getSize(); + + PageResponseDto pageResponseDto = totalScheduleAdminService.findAllByClassification( + detailClassification, page, size); + + return ResponseEntity.ok(pageResponseDto); + } +} diff --git a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/controller/response/TotalScheduleAdminResDto.java b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/controller/response/TotalScheduleAdminResDto.java new file mode 100644 index 000000000..54c65ab77 --- /dev/null +++ b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/controller/response/TotalScheduleAdminResDto.java @@ -0,0 +1,59 @@ +package gg.calendar.api.admin.schedule.totalschedule.controller.response; + +import java.time.LocalDateTime; + +import gg.data.calendar.PublicSchedule; +import gg.data.calendar.type.DetailClassification; +import gg.data.calendar.type.EventTag; +import gg.data.calendar.type.JobTag; +import gg.data.calendar.type.ScheduleStatus; +import gg.data.calendar.type.TechTag; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class TotalScheduleAdminResDto { + + private Long id; + + private DetailClassification classification; + + private EventTag eventTag; + + private JobTag jobTag; + + private TechTag techTag; + + private String author; + + private String title; + + private LocalDateTime startTime; + + private LocalDateTime endTime; + + private String link; + + private Integer sharedCount; + + private ScheduleStatus status; + + @Builder + public TotalScheduleAdminResDto(PublicSchedule publicSchedule) { + this.id = publicSchedule.getId(); + this.classification = publicSchedule.getClassification(); + this.eventTag = publicSchedule.getEventTag(); + this.jobTag = publicSchedule.getJobTag(); + this.techTag = publicSchedule.getTechTag(); + this.author = publicSchedule.getAuthor(); + this.title = publicSchedule.getTitle(); + this.startTime = publicSchedule.getStartTime(); + this.endTime = publicSchedule.getEndTime(); + this.link = publicSchedule.getLink(); + this.sharedCount = publicSchedule.getSharedCount(); + this.status = publicSchedule.getStatus(); + } +} diff --git a/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/service/TotalScheduleAdminService.java b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/service/TotalScheduleAdminService.java new file mode 100644 index 000000000..f54b56c88 --- /dev/null +++ b/gg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/service/TotalScheduleAdminService.java @@ -0,0 +1,41 @@ +package gg.calendar.api.admin.schedule.totalschedule.service; + +import java.util.List; +import java.util.stream.Collectors; + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import gg.admin.repo.calendar.PublicScheduleAdminRepository; +import gg.calendar.api.admin.schedule.totalschedule.controller.response.TotalScheduleAdminResDto; +import gg.data.calendar.PublicSchedule; +import gg.data.calendar.type.DetailClassification; +import gg.utils.dto.PageResponseDto; +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +@Transactional(readOnly = true) +public class TotalScheduleAdminService { + + private final PublicScheduleAdminRepository publicScheduleAdminRepository; + + public PageResponseDto findAllByClassification(DetailClassification detailClassification, + int page, int size) { + + Pageable pageable = PageRequest.of(page - 1, size, + Sort.by(Sort.Order.asc("status"), Sort.Order.asc("startTime"))); + + Page publicSchedules = publicScheduleAdminRepository.findAllByClassification( + detailClassification, pageable); + + List publicScheduleList = publicSchedules.stream() + .map(TotalScheduleAdminResDto::new) + .collect(Collectors.toList()); + return PageResponseDto.of(publicSchedules.getTotalElements(), publicScheduleList); + } +} diff --git a/gg-calendar-api/src/test/java/gg/calendar/api/admin/schedule/publicschedule/controller/PublicScheduleAdminControllerTest.java b/gg-calendar-api/src/test/java/gg/calendar/api/admin/schedule/publicschedule/controller/PublicScheduleAdminControllerTest.java index 159a841ef..8c2203415 100644 --- a/gg-calendar-api/src/test/java/gg/calendar/api/admin/schedule/publicschedule/controller/PublicScheduleAdminControllerTest.java +++ b/gg-calendar-api/src/test/java/gg/calendar/api/admin/schedule/publicschedule/controller/PublicScheduleAdminControllerTest.java @@ -7,7 +7,6 @@ import java.time.LocalDateTime; import java.util.List; -import java.util.stream.Stream; import javax.persistence.EntityManager; import javax.transaction.Transactional; @@ -16,18 +15,11 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.MethodSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; -import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import gg.admin.repo.calendar.PublicScheduleAdminRepository; @@ -46,7 +38,6 @@ import gg.data.user.User; import gg.utils.TestDataUtils; import gg.utils.annotation.IntegrationTest; -import gg.utils.dto.PageResponseDto; import lombok.extern.slf4j.Slf4j; @Slf4j @@ -184,57 +175,10 @@ public void createPublicScheduleContentMax() throws Exception { } } - @TestInstance(TestInstance.Lifecycle.PER_CLASS) @Nested @DisplayName("Admin PublicSchedule 조회 테스트") class GetPublicScheduleAdminTest { - private Stream inputParams() { - return Stream.of(Arguments.of("EVENT", 2, 10), Arguments.of("JOB_NOTICE", 1, 10), - Arguments.of("PRIVATE_SCHEDULE", 1, 2)); - } - - @ParameterizedTest - @MethodSource("inputParams") - @DisplayName("Admin PublicSchedule 태그 조회 테스트 - 성공") - void getPublicScheduleAdminClassificationListTestSuccess(String tags, int page, int size) throws Exception { - // given - publicScheduleAdminMockData.createPublicScheduleEvent(20); - publicScheduleAdminMockData.createPublicScheduleJob(10); - publicScheduleAdminMockData.createPublicSchedulePrivate(5); - - MultiValueMap params = new LinkedMultiValueMap<>(); - params.add("page", String.valueOf(page)); - params.add("size", String.valueOf(size)); - - // when - // multivalue map 을 통해서 값이 넘어옴 - String response = mockMvc.perform( - get("/admin/calendar/public/list/{detailClassification}", tags).header("Authorization", - "Bearer " + accessToken).params(params)) - .andDo(print()) - .andExpect(status().isOk()) - .andReturn() - .getResponse() - .getContentAsString(); - - // then - PageResponseDto pageResponseDto = objectMapper.readValue(response, - new TypeReference<>() { - }); - List result = pageResponseDto.getContent(); - - if (DetailClassification.valueOf(tags) == DetailClassification.PRIVATE_SCHEDULE) { - assertThat(result.size()).isEqualTo(2); - } else { - assertThat(result.size()).isEqualTo(10); - } - - for (PublicScheduleAdminResDto dto : result) { - System.out.println(dto.toString()); - } - } - @Test @DisplayName("Admin PublicSchedule 상세 조회 테스트 - 성공") void getPublicScheduleAdminDetailTestSuccess() throws Exception { diff --git a/gg-calendar-api/src/test/java/gg/calendar/api/admin/schedule/totalschedule/controller/TotalScheduleAdminControllerTest.java b/gg-calendar-api/src/test/java/gg/calendar/api/admin/schedule/totalschedule/controller/TotalScheduleAdminControllerTest.java new file mode 100644 index 000000000..9badd5c37 --- /dev/null +++ b/gg-calendar-api/src/test/java/gg/calendar/api/admin/schedule/totalschedule/controller/TotalScheduleAdminControllerTest.java @@ -0,0 +1,126 @@ +package gg.calendar.api.admin.schedule.totalschedule.controller; + +import static org.assertj.core.api.Assertions.*; +import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.*; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; + +import java.util.List; +import java.util.stream.Stream; + +import javax.persistence.EntityManager; +import javax.transaction.Transactional; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; + +import gg.admin.repo.calendar.PublicScheduleAdminRepository; +import gg.calendar.api.admin.PublicScheduleAdminMockData; +import gg.calendar.api.admin.schedule.totalschedule.controller.response.TotalScheduleAdminResDto; +import gg.data.calendar.type.DetailClassification; +import gg.data.user.User; +import gg.utils.TestDataUtils; +import gg.utils.annotation.IntegrationTest; +import gg.utils.dto.PageResponseDto; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@IntegrationTest +@Transactional +@AutoConfigureMockMvc +class TotalScheduleAdminControllerTest { + + @Autowired + private MockMvc mockMvc; + + @Autowired + EntityManager em; + + @Autowired + private PublicScheduleAdminMockData publicScheduleAdminMockData; + + @Autowired + private PublicScheduleAdminRepository publicScheduleAdminRepository; + + @Autowired + private TestDataUtils testDataUtils; + + private User user; + + private String accessToken; + + @Autowired + private ObjectMapper objectMapper; + + @BeforeEach + void setUp() { + user = testDataUtils.createAdminUser(); + accessToken = testDataUtils.getLoginAccessTokenFromUser(user); + } + + @TestInstance(TestInstance.Lifecycle.PER_CLASS) + @Nested + @DisplayName("Admin TotalSchedule 조회 테스트") + class GetTotalScheduleAdminTest { + + private Stream inputParams() { + return Stream.of(Arguments.of("EVENT", 2, 10), Arguments.of("JOB_NOTICE", 1, 10), + Arguments.of("PRIVATE_SCHEDULE", 1, 2)); + } + + @ParameterizedTest + @MethodSource("inputParams") + @DisplayName("Admin TotalSchedule 태그 조회 테스트 - 성공") + void getTotalAdminClassificationListTestSuccess(String tags, int page, int size) throws Exception { + // given + publicScheduleAdminMockData.createPublicScheduleEvent(20); + publicScheduleAdminMockData.createPublicScheduleJob(10); + publicScheduleAdminMockData.createPublicSchedulePrivate(5); + + MultiValueMap params = new LinkedMultiValueMap<>(); + params.add("page", String.valueOf(page)); + params.add("size", String.valueOf(size)); + + // when + // multivalue map 을 통해서 값이 넘어옴 + String response = mockMvc.perform( + get("/admin/calendar/list/{detailClassification}", tags).header("Authorization", + "Bearer " + accessToken).params(params)) + .andDo(print()) + .andExpect(status().isOk()) + .andReturn() + .getResponse() + .getContentAsString(); + + // then + PageResponseDto pageResponseDto = objectMapper.readValue(response, + new TypeReference<>() { + }); + List result = pageResponseDto.getContent(); + + if (DetailClassification.valueOf(tags) == DetailClassification.PRIVATE_SCHEDULE) { + assertThat(result.size()).isEqualTo(2); + } else { + assertThat(result.size()).isEqualTo(10); + } + + for (TotalScheduleAdminResDto dto : result) { + System.out.println(dto.toString()); + } + } + + } +} diff --git a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/config/SecurityConfig.java b/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/config/SecurityConfig.java index 9ac204776..5f759a847 100644 --- a/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/config/SecurityConfig.java +++ b/gg-pingpong-api/src/main/java/gg/pingpong/api/global/security/config/SecurityConfig.java @@ -49,13 +49,15 @@ protected void configure(HttpSecurity http) throws Exception { .hasRole("ADMIN") .antMatchers(HttpMethod.PUT, "/pingpong/users/{intraId}") .hasAnyRole("USER", "ADMIN") + .antMatchers("/admin/calendar/**") + .hasRole("ADMIN") .antMatchers(HttpMethod.POST, "/pingpong/match") .hasAnyRole("USER", "ADMIN") .antMatchers(HttpMethod.POST, "/pingpong/tournaments/{tournamentId}/users") .hasAnyRole("USER", "ADMIN") .antMatchers("/login", "/oauth2/authorization/**", "/", "/pingpong/users/oauth/**", "/pingpong/users/accesstoken", "/actuator/**", "/swagger-ui/**", "/swagger-ui**", "/v3/api-docs/**", - "/v3/api-docs**", "/api-docs", "/admin/calendar/**") + "/v3/api-docs**", "/api-docs") .permitAll() .anyRequest() .authenticated() diff --git a/gg-utils/build.gradle b/gg-utils/build.gradle index 5cd09ebf3..0d494e2b0 100644 --- a/gg-utils/build.gradle +++ b/gg-utils/build.gradle @@ -48,7 +48,9 @@ integrationTestCoverageReport { getClassDirectories().setFrom(files( [project(':gg-data'), project(':gg-admin-repo'), project(':gg-repo'), project(':gg-pingpong-api'), - project(':gg-auth'), project(':gg-utils')].collect { + project(':gg-auth'), project(':gg-utils'), + project(':gg-recruit-api'), project(':gg-agenda-api'), + project(':gg-calendar-api')].collect { it.fileTree(dir: "${it.buildDir}/classes/java/main", exclude: jacocoExcludes) } )) @@ -65,7 +67,9 @@ unitTestCoverageReport { getClassDirectories().setFrom(files( [project(':gg-data'), project(':gg-admin-repo'), project(':gg-repo'), project(':gg-pingpong-api'), - project(':gg-auth'), project(':gg-utils')].collect { + project(':gg-auth'), project(':gg-utils'), + project(':gg-recruit-api'), project(':gg-agenda-api'), + project(':gg-calendar-api')].collect { it.fileTree(dir: "${it.buildDir}/classes/java/main", exclude: jacocoExcludes) } )) @@ -100,6 +104,8 @@ dependencies { testFixturesImplementation project(":gg-admin-repo") testFixturesImplementation project(":gg-pingpong-api") testFixturesImplementation project(":gg-recruit-api") + testFixturesImplementation project(":gg-agenda-api") + testFixturesImplementation project(":gg-calendar-api") jacocoAggregation(project(':gg-data')) jacocoAggregation(project(':gg-auth')) @@ -107,6 +113,8 @@ dependencies { jacocoAggregation(project(':gg-admin-repo')) jacocoAggregation(project(':gg-pingpong-api')) jacocoAggregation(project(':gg-recruit-api')) + jacocoAggregation(project(':gg-agenda-api')) + jacocoAggregation(project(':gg-calendar-api')) } test {