Merge branch 'master' into master-web
This commit is contained in:
@@ -4,6 +4,7 @@ import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.ToString;
|
||||
import org.springframework.data.domain.Page;
|
||||
|
||||
@Getter
|
||||
@Builder
|
||||
@@ -14,13 +15,17 @@ public class CursorPageable<T> {
|
||||
private final T response;
|
||||
private final ResponseMetaData responseMetaData;
|
||||
|
||||
private CursorPageable(final T response, final boolean hasNext, final int page, final int size) {
|
||||
private CursorPageable(final T response, final Page<?> page) {
|
||||
this.response = response;
|
||||
this.responseMetaData = new ResponseMetaData(hasNext, page, size);
|
||||
this.responseMetaData = new ResponseMetaData(
|
||||
page.hasNext(),
|
||||
page.nextOrLastPageable().getPageNumber(),
|
||||
page.nextOrLastPageable().getPageSize(),
|
||||
page.getTotalElements());
|
||||
}
|
||||
|
||||
public static <T> CursorPageable<T> of(final T response, final boolean hasNext, final int page, final int size) {
|
||||
return new CursorPageable<>(response, hasNext, page, size);
|
||||
public static <T> CursorPageable<T> of(final T response, final Page<?> page) {
|
||||
return new CursorPageable<>(response, page);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,5 +12,5 @@ public class ResponseMetaData {
|
||||
private final boolean hasNext;
|
||||
private final int page;
|
||||
private final int size;
|
||||
|
||||
private final long totalElements;
|
||||
}
|
||||
@@ -56,7 +56,7 @@ public class QuizService {
|
||||
|
||||
final GetQuizResponseHolder responseHolder = new GetQuizResponseHolder(quizResponseList);
|
||||
|
||||
return CursorPageable.of(responseHolder, quizPage.hasNext(), quizPage.nextOrLastPageable().getPageNumber(), quizPage.nextOrLastPageable().getPageSize());
|
||||
return CursorPageable.of(responseHolder, quizPage);
|
||||
}
|
||||
|
||||
public List<Quiz> getUnsolvedQuizList(final Long userId, final QuizLevel quizLevel, final Set<QuizCategory> quizCategorySet) {
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.google.gson.Gson;
|
||||
import com.mangkyu.employment.interview.app.common.pagination.CursorPageable;
|
||||
import com.mangkyu.employment.interview.app.quiz.constants.QuizConstants;
|
||||
import com.mangkyu.employment.interview.app.quiz.dto.*;
|
||||
import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
|
||||
import com.mangkyu.employment.interview.app.quiz.service.QuizService;
|
||||
import com.mangkyu.employment.interview.enums.value.QuizCategory;
|
||||
import com.mangkyu.employment.interview.enums.value.QuizLevel;
|
||||
@@ -16,6 +17,9 @@ import org.junit.jupiter.params.provider.MethodSource;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import org.springframework.data.domain.PageImpl;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.ResultActions;
|
||||
@@ -93,7 +97,6 @@ class QuizControllerTest {
|
||||
final GetQuizResponseHolder getQuizResponseHolder = GetQuizResponseHolder.builder()
|
||||
.quizList(Collections.singletonList(quizResponse))
|
||||
.build();
|
||||
final CursorPageable<GetQuizResponseHolder> cursorPageable = CursorPageable.of(getQuizResponseHolder, false, page, size);
|
||||
|
||||
// when
|
||||
final ResultActions result = mockMvc.perform(
|
||||
@@ -122,7 +125,10 @@ class QuizControllerTest {
|
||||
final GetQuizResponseHolder getQuizResponseHolder = GetQuizResponseHolder.builder()
|
||||
.quizList(Collections.singletonList(quizResponse))
|
||||
.build();
|
||||
final CursorPageable<GetQuizResponseHolder> cursorPageable = CursorPageable.of(getQuizResponseHolder, false, page, size);
|
||||
|
||||
final Pageable pageable = PageRequest.of(page, size);
|
||||
final PageImpl<Quiz> quizPage = new PageImpl<>(Collections.emptyList(), pageable, 0);
|
||||
final CursorPageable<GetQuizResponseHolder> cursorPageable = CursorPageable.of(getQuizResponseHolder, quizPage);
|
||||
|
||||
doReturn(cursorPageable).when(quizService).getQuizList(any(GetQuizRequest.class));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user