Skip to content

Commit f58ae8f

Browse files
authored
πŸ”¨ [Refactoring] Admin νŽ˜μ΄μ§€ ν”„λ‘ νŠΈ μš”μ²­μ‚¬ν•­μ— μ˜ν•œ 변경사항 #1156 (#1157)
1 parent b318476 commit f58ae8f

4 files changed

Lines changed: 27 additions & 126 deletions

File tree

β€Žgg-admin-repo/src/main/java/gg/admin/repo/calendar/PublicScheduleAdminRepository.javaβ€Ž

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import java.util.List;
44

5-
import org.springframework.data.domain.Page;
6-
import org.springframework.data.domain.Pageable;
75
import org.springframework.data.jpa.repository.JpaRepository;
86
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
97
import org.springframework.stereotype.Repository;
@@ -17,7 +15,7 @@ public interface PublicScheduleAdminRepository extends JpaRepository<PublicSched
1715

1816
List<PublicSchedule> findByAuthor(String author);
1917

20-
Page<PublicSchedule> findAllByClassification(DetailClassification detailClassification, Pageable pageable);
18+
List<PublicSchedule> findAllByClassification(DetailClassification detailClassification);
2119

2220
List<PublicSchedule> findAll();
2321
}

β€Žgg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/controller/TotalScheduleAdminController.javaβ€Ž

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,9 @@
1010
import org.springframework.web.bind.annotation.RestController;
1111

1212
import gg.calendar.api.admin.schedule.totalschedule.controller.request.TotalScheduleAdminSearchReqDto;
13-
import gg.calendar.api.admin.schedule.totalschedule.controller.response.TotalScheduleAdminResDto;
1413
import gg.calendar.api.admin.schedule.totalschedule.controller.response.TotalScheduleAdminSearchListResDto;
1514
import gg.calendar.api.admin.schedule.totalschedule.service.TotalScheduleAdminService;
1615
import gg.data.calendar.type.DetailClassification;
17-
import gg.utils.dto.PageRequestDto;
18-
import gg.utils.dto.PageResponseDto;
1916
import lombok.RequiredArgsConstructor;
2017

2118
@RestController
@@ -26,26 +23,13 @@ public class TotalScheduleAdminController {
2623
private final TotalScheduleAdminService totalScheduleAdminService;
2724

2825
@GetMapping("/list/{detailClassification}")
29-
public ResponseEntity<PageResponseDto<TotalScheduleAdminResDto>> totalScheduleAdminClassificationList(
30-
@PathVariable DetailClassification detailClassification, @ModelAttribute @Valid PageRequestDto pageRequestDto) {
31-
int page = pageRequestDto.getPage();
32-
int size = pageRequestDto.getSize();
26+
public ResponseEntity<TotalScheduleAdminSearchListResDto> totalScheduleAdminClassificationList(
27+
@PathVariable DetailClassification detailClassification) {
3328

34-
PageResponseDto<TotalScheduleAdminResDto> pageResponseDto = totalScheduleAdminService.findAllByClassification(
35-
detailClassification, page, size);
29+
TotalScheduleAdminSearchListResDto scheduleList = totalScheduleAdminService.findAllByClassification(
30+
detailClassification);
3631

37-
return ResponseEntity.ok(pageResponseDto);
38-
}
39-
40-
@GetMapping
41-
public ResponseEntity<PageResponseDto<TotalScheduleAdminResDto>> totalScheduleAdminPageList(
42-
@ModelAttribute @Valid PageRequestDto pageRequestDto) {
43-
int page = pageRequestDto.getPage();
44-
int size = pageRequestDto.getSize();
45-
46-
PageResponseDto<TotalScheduleAdminResDto> pageResponseDto = totalScheduleAdminService.findAll(page, size);
47-
48-
return ResponseEntity.ok(pageResponseDto);
32+
return ResponseEntity.ok(scheduleList);
4933
}
5034

5135
@GetMapping("/search")
@@ -63,4 +47,5 @@ public ResponseEntity<TotalScheduleAdminSearchListResDto> totalScheduleAdminList
6347

6448
return ResponseEntity.ok(scheduleList);
6549
}
50+
6651
}

β€Žgg-calendar-api/src/main/java/gg/calendar/api/admin/schedule/totalschedule/service/TotalScheduleAdminService.javaβ€Ž

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,16 @@ public class TotalScheduleAdminService {
3333

3434
private final PublicScheduleAdminRepository publicScheduleAdminRepository;
3535

36-
public PageResponseDto<TotalScheduleAdminResDto> findAllByClassification(DetailClassification detailClassification,
37-
int page, int size) {
36+
public TotalScheduleAdminSearchListResDto findAllByClassification(DetailClassification detailClassification) {
3837

39-
Pageable pageable = PageRequest.of(page - 1, size,
40-
Sort.by(Sort.Order.asc("status"), Sort.Order.asc("startTime")));
41-
42-
Page<PublicSchedule> publicSchedules = publicScheduleAdminRepository.findAllByClassification(
43-
detailClassification, pageable);
38+
List<PublicSchedule> scheduleList = publicScheduleAdminRepository.findAllByClassification(
39+
detailClassification);
4440

45-
List<TotalScheduleAdminResDto> publicScheduleList = publicSchedules.stream()
46-
.map(TotalScheduleAdminResDto::new)
47-
.collect(Collectors.toList());
48-
return PageResponseDto.of(publicSchedules.getTotalElements(), publicScheduleList);
41+
return TotalScheduleAdminSearchListResDto.builder()
42+
.schedules(scheduleList.stream()
43+
.map(TotalScheduleAdminResDto::new)
44+
.collect(Collectors.toList()))
45+
.build();
4946
}
5047

5148
public PageResponseDto<TotalScheduleAdminResDto> findAll(int page, int size) {
@@ -92,6 +89,7 @@ public TotalScheduleAdminSearchListResDto searchTotalScheduleAdminList(TotalSche
9289

9390
public TotalScheduleAdminSearchListResDto totalScheduleAdminList() {
9491
List<PublicSchedule> schedules = publicScheduleAdminRepository.findAll();
92+
9593
return TotalScheduleAdminSearchListResDto.builder()
9694
.schedules(schedules.stream()
9795
.map(TotalScheduleAdminResDto::new)

β€Žgg-calendar-api/src/test/java/gg/calendar/api/admin/schedule/totalschedule/controller/TotalScheduleAdminControllerTest.javaβ€Ž

Lines changed: 11 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
88

99
import java.time.LocalDate;
10-
import java.util.List;
1110
import java.util.stream.Stream;
1211

1312
import javax.transaction.Transactional;
@@ -26,20 +25,17 @@
2625
import org.springframework.util.LinkedMultiValueMap;
2726
import org.springframework.util.MultiValueMap;
2827

29-
import com.fasterxml.jackson.core.type.TypeReference;
3028
import com.fasterxml.jackson.databind.ObjectMapper;
3129

3230
import gg.calendar.api.admin.schedule.privateschedule.PrivateScheduleAdminMockData;
3331
import gg.calendar.api.admin.schedule.publicschedule.PublicScheduleAdminMockData;
3432
import gg.calendar.api.admin.schedule.totalschedule.controller.request.TotalScheduleAdminSearchReqDto;
3533
import gg.calendar.api.admin.schedule.totalschedule.controller.response.TotalScheduleAdminResDto;
3634
import gg.calendar.api.admin.schedule.totalschedule.controller.response.TotalScheduleAdminSearchListResDto;
37-
import gg.data.calendar.type.DetailClassification;
3835
import gg.data.user.User;
3936
import gg.utils.TestDataUtils;
4037
import gg.utils.annotation.IntegrationTest;
4138
import gg.utils.dto.PageRequestDto;
42-
import gg.utils.dto.PageResponseDto;
4339
import lombok.extern.slf4j.Slf4j;
4440

4541
@Slf4j
@@ -79,8 +75,8 @@ void setUp() {
7975
class GetTotalScheduleAdminTest {
8076

8177
private Stream<Arguments> inputParams() {
82-
return Stream.of(Arguments.of("EVENT", 2, 10), Arguments.of("JOB_NOTICE", 1, 10),
83-
Arguments.of("PRIVATE_SCHEDULE", 1, 2));
78+
return Stream.of(Arguments.of("EVENT"), Arguments.of("JOB_NOTICE"),
79+
Arguments.of("PRIVATE_SCHEDULE"));
8480
}
8581

8682
private Stream<Arguments> inputPageReqDto() {
@@ -117,120 +113,44 @@ private Stream<Arguments> inputSearchParamEndBeforeStart() {
117113
@ParameterizedTest
118114
@MethodSource("inputParams")
119115
@DisplayName("Admin TotalSchedule νƒœκ·Έ 쑰회 ν…ŒμŠ€νŠΈ - 성곡")
120-
void getTotalAdminClassificationListTestSuccess(String tags, int page, int size) throws Exception {
116+
void getTotalAdminClassificationListTestSuccess(String tags) throws Exception {
121117
// given
122118
publicScheduleAdminMockData.createPublicScheduleEvent(20);
123119
publicScheduleAdminMockData.createPublicScheduleJob(10);
124120
publicScheduleAdminMockData.createPublicSchedulePrivate(5);
125121

126-
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
127-
params.add("page", String.valueOf(page));
128-
params.add("size", String.valueOf(size));
129-
130122
// when
131123
// multivalue map 을 ν†΅ν•΄μ„œ 값이 λ„˜μ–΄μ˜΄
132124
String response = mockMvc.perform(
133125
get("/admin/calendar/list/{detailClassification}", tags).header("Authorization",
134-
"Bearer " + accessToken).params(params))
126+
"Bearer " + accessToken))
135127
.andDo(print())
136128
.andExpect(status().isOk())
137129
.andReturn()
138130
.getResponse()
139131
.getContentAsString();
140132

141133
// then
142-
PageResponseDto<TotalScheduleAdminResDto> pageResponseDto = objectMapper.readValue(response,
143-
new TypeReference<>() {
144-
});
145-
List<TotalScheduleAdminResDto> result = pageResponseDto.getContent();
146-
147-
if (DetailClassification.valueOf(tags) == DetailClassification.PRIVATE_SCHEDULE) {
148-
assertThat(result.size()).isEqualTo(2);
149-
} else {
150-
assertThat(result.size()).isEqualTo(10);
151-
}
134+
TotalScheduleAdminSearchListResDto result = objectMapper.readValue(response,
135+
TotalScheduleAdminSearchListResDto.class);
152136

153-
for (TotalScheduleAdminResDto dto : result) {
154-
System.out.println(dto.toString());
137+
for (TotalScheduleAdminResDto dto : result.getTotalScheduleAdminResDtoList()) {
138+
System.out.println("asdf : " + dto.toString());
155139
}
156140
}
157141

158-
@ParameterizedTest
159-
@MethodSource("inputPageReqDto")
142+
@Test
160143
@DisplayName("Admin TotalSchedule νƒœκ·Έ 쑰회 ν…ŒμŠ€νŠΈ - μ‹€νŒ¨ : 잘λͺ»λœ νƒœκ·Έκ°€ 듀어왔을 경우")
161-
void getTotalAdminClassificationListTestFailNotMatchTag(PageRequestDto pageRequestDto) throws Exception {
144+
void getTotalAdminClassificationListTestFailNotMatchTag() throws Exception {
162145
// given
163146
publicScheduleAdminMockData.createPublicScheduleEvent(20);
164147
publicScheduleAdminMockData.createPublicScheduleJob(10);
165148
publicScheduleAdminMockData.createPublicSchedulePrivate(5);
166149

167-
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
168-
params.add("page", String.valueOf(pageRequestDto.getPage()));
169-
params.add("size", String.valueOf(pageRequestDto.getSize()));
170-
171150
// when
172151
String response = mockMvc.perform(
173152
get("/admin/calendar/list/{detailClassification}", "qweksd").header("Authorization",
174-
"Bearer " + accessToken).params(params))
175-
.andDo(print())
176-
.andExpect(status().isBadRequest())
177-
.andReturn()
178-
.getResponse()
179-
.getContentAsString();
180-
181-
// then
182-
log.info("response :{}", response);
183-
}
184-
185-
@ParameterizedTest
186-
@MethodSource("inputPageReqDto")
187-
@DisplayName("Admin TotalSchedule νŽ˜μ΄μ§€ 쑰회 ν…ŒμŠ€νŠΈ - 성곡")
188-
void getTotalAdminPageNationListTesSuccess(PageRequestDto pageRequestDto) throws Exception {
189-
// given
190-
publicScheduleAdminMockData.createPublicScheduleEvent(20);
191-
publicScheduleAdminMockData.createPublicScheduleJob(10);
192-
privateScheduleAdminMockData.createPrivateSchedules(5, user);
193-
194-
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
195-
params.add("page", String.valueOf(pageRequestDto.getPage()));
196-
params.add("size", String.valueOf(pageRequestDto.getSize()));
197-
198-
// when
199-
String response = mockMvc.perform(
200-
get("/admin/calendar").header("Authorization", "Bearer " + accessToken).params(params))
201-
.andDo(print())
202-
.andExpect(status().isOk())
203-
.andReturn()
204-
.getResponse()
205-
.getContentAsString();
206-
207-
// then
208-
PageResponseDto<TotalScheduleAdminResDto> pageResponseDto = objectMapper.readValue(response,
209-
new TypeReference<>() {
210-
});
211-
List<TotalScheduleAdminResDto> result = pageResponseDto.getContent();
212-
213-
for (TotalScheduleAdminResDto dto : result) {
214-
System.out.println(dto.toString());
215-
}
216-
}
217-
218-
@ParameterizedTest
219-
@MethodSource("invalidInput")
220-
@DisplayName("Admin TotalSchedule νŽ˜μ΄μ§€ 쑰회 ν…ŒμŠ€νŠΈ - μ‹€νŒ¨ : νŽ˜μ΄μ§€ μž…λ ₯값이 잘λͺ»λœ 값일 경우")
221-
void getTotalAdminPageNationListTestFailInvalidPage(PageRequestDto pageRequestDto) throws Exception {
222-
// given
223-
publicScheduleAdminMockData.createPublicScheduleEvent(20);
224-
publicScheduleAdminMockData.createPublicScheduleJob(10);
225-
privateScheduleAdminMockData.createPrivateSchedules(5, user);
226-
227-
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
228-
params.add("page", String.valueOf(pageRequestDto.getPage()));
229-
params.add("size", String.valueOf(pageRequestDto.getSize()));
230-
231-
// when
232-
String response = mockMvc.perform(
233-
get("/admin/calendar").header("Authorization", "Bearer " + accessToken).params(params))
153+
"Bearer " + accessToken))
234154
.andDo(print())
235155
.andExpect(status().isBadRequest())
236156
.andReturn()

0 commit comments

Comments
Β (0)