diff --git a/src/test/java/com/pandoli365/bibimbap/controller/PostControllerTest.java b/src/test/java/com/pandoli365/bibimbap/controller/PostControllerTest.java index 04a689f..1a5d787 100644 --- a/src/test/java/com/pandoli365/bibimbap/controller/PostControllerTest.java +++ b/src/test/java/com/pandoli365/bibimbap/controller/PostControllerTest.java @@ -29,6 +29,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -232,6 +233,21 @@ class PostControllerTest { assertThat(model.getAttribute("nextCursorId")).isNull(); } + /** 회귀(168671b): cursor=null·categoryId=null → PSQLException 없이 "posts-list" 반환. */ + @Test + void list_nullCursorAndCategory_returnsPostsView() { + PostController controller = controller(); + when(postsMapper.listPublishedKeyset(isNull(), isNull(), isNull(), eq(PAGE_SIZE + 1))) + .thenReturn(List.of()); + lenient().when(postCategoriesMapper.listActive()).thenReturn(List.of()); + Model model = new ExtendedModelMap(); + + String view = controller.list(null, null, null, model); + + assertThat(view).isEqualTo("posts-list"); + assertThat(model.getAttribute("hasNext")).isEqualTo(false); + } + // ==== helpers ==== private PostController controller() {