From 2d213efe131c8148486ab83ea08a42f8aeb746e7 Mon Sep 17 00:00:00 2001 From: kang yeon joo Date: Mon, 21 Oct 2024 14:14:18 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=88=AC=EB=8D=B0=EC=9D=B4/=EB=B0=B1?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=20=EB=B9=88=20=EB=AC=B8=EC=9E=90=EC=97=B4?= =?UTF-8?q?=EB=A1=9C=20=EC=9D=91=EB=8B=B5=20=ED=86=B5=EC=9D=BC(=EC=9C=A0?= =?UTF-8?q?=ED=98=80=ED=95=98=EC=A7=80=20=EC=95=8A=EC=9D=80=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=98=88=EC=99=B8=20=EC=97=86=EC=95=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../poptato/todo/application/TodoService.java | 21 +++++++------------ .../todo/application/TodoServiceTest.java | 16 +++++++------- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/src/main/java/server/poptato/todo/application/TodoService.java b/src/main/java/server/poptato/todo/application/TodoService.java index 7c3d865..11fbe5d 100644 --- a/src/main/java/server/poptato/todo/application/TodoService.java +++ b/src/main/java/server/poptato/todo/application/TodoService.java @@ -53,22 +53,15 @@ public TodayListResponseDto getTodayList(long userId, int page, int size, LocalD userId, Type.TODAY, todayDate, TodayStatus.COMPLETED); todays.addAll(completedTodos); + // 전체 리스트에서 페이징 + int start = (page) * size; + int end = Math.min(start + size, todays.size()); List todaySubList; - int totalPageCount; + if (start >= end) todaySubList = new ArrayList<>(); + else todaySubList = todays.subList(start, end); + + int totalPageCount = (int) Math.ceil((double) todays.size() / size); - if(todays.size()==0) { - totalPageCount = 0; - todaySubList = new ArrayList<>(); - } - else{ - // 전체 리스트에서 페이징 - int start = (page) * size; - int end = Math.min(start + size, todays.size()); - if (start >= end) throw new TodoException(TodoExceptionErrorCode.INVALID_PAGE); - - todaySubList = todays.subList(start, end); - totalPageCount = (int) Math.ceil((double) todays.size() / size); - } return TodayListResponseDto.builder() .date(todayDate) .todays(todaySubList) diff --git a/src/test/java/server/poptato/todo/application/TodoServiceTest.java b/src/test/java/server/poptato/todo/application/TodoServiceTest.java index 070a76a..a512fa1 100644 --- a/src/test/java/server/poptato/todo/application/TodoServiceTest.java +++ b/src/test/java/server/poptato/todo/application/TodoServiceTest.java @@ -56,21 +56,21 @@ class TodoServiceTest { assertThat(todoService.getTodayList(userId,page,size,todayDate).getTodays().size()).isEqualTo(size); } - @DisplayName("유효하지 않는 페이지 수일 경우 예외가 발생한다.") + @DisplayName("유효하지 않는 페이지 수일 경우 빈 리스트를 반환한다.") @Test - void 유효하지_않은_페이지_수_예외(){ + void 유효하지_않은_페이지_수_응답(){ //given Long userId = 1L; int page = 2; int size = 8; LocalDate todayDate = LocalDate.of(2024,10,16); - //when & then - assertThatThrownBy(()-> todoService.getTodayList(userId,page,size,todayDate)) - .isInstanceOf(TodoException.class) - .hasMessage(TodoExceptionErrorCode.INVALID_PAGE.getMessage()); + //when + TodayListResponseDto todayList = todoService.getTodayList(userId, page, size, todayDate); + //then + assertThat(todayList.getTodays()).isEmpty(); } - @DisplayName("투데이_데이터가 없는 경우 null을 반환한다.") + @DisplayName("투데이_데이터가 없는 경우 빈 리스트를 반환한다.") @Test void 투데이_데이터_수_0개_응답(){ //given @@ -85,7 +85,7 @@ class TodoServiceTest { assertThat(todayList.getTotalPageCount()).isEqualTo(0); } - @DisplayName("백로그_데이터가 없는 경우 null을 반환한다.") + @DisplayName("백로그_데이터가 없는 경우 빈 리스트를 반환한다.") @Test void 백로그_데이터_수_0개_응답(){ //given