Skip to content

Commit d79261d

Browse files
authored
[BE] RoomSortStrategy 정렬 반환 방식 변경(#787) (#790)
2 parents 6cf6859 + 653aaf5 commit d79261d

File tree

5 files changed

+17
-25
lines changed

5 files changed

+17
-25
lines changed

backend/src/main/java/corea/room/domain/RoomSortStrategy.java

+7
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ public enum RoomSortStrategy {
1313
private final String property;
1414
private final Sort.Direction direction;
1515

16+
public static RoomSortStrategy from(RoomStatus status) {
17+
if (status.isClosed()) {
18+
return RoomSortStrategy.REVIEW_DEADLINE_DESC;
19+
}
20+
return RoomSortStrategy.RECRUITMENT_DEADLINE_DESC;
21+
}
22+
1623
public Sort toSort() {
1724
return Sort.by(direction, property);
1825
}

backend/src/main/java/corea/room/domain/RoomSortStrategyFactory.java

-14
This file was deleted.

backend/src/main/java/corea/room/service/RoomInquiryService.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,10 @@ public class RoomInquiryService {
3131
private final RoomRepository roomRepository;
3232
private final ParticipationRepository participationRepository;
3333
private final RoomMatchReader roomMatchReader;
34-
private final RoomSortStrategyFactory roomSortStrategyFactory;
3534

3635
public RoomSearchResponses search(long memberId, RoomStatus status, RoomClassification classification, String keywordTitle) {
3736
Specification<Room> spec = getSearchSpecification(status, classification, keywordTitle);
38-
RoomSortStrategy roomSortStrategy = roomSortStrategyFactory.getRoomSortStrategy(status);
37+
RoomSortStrategy roomSortStrategy = RoomSortStrategy.from(status);
3938
List<Room> rooms = roomReader.findAll(spec, roomSortStrategy);
4039

4140
List<RoomResponse> roomResponses = getRoomResponses(rooms, memberId);
@@ -60,7 +59,7 @@ public RoomResponses findRoomsWithRoomStatus(long memberId, int pageNumber, Stri
6059

6160
private Page<Room> getPaginatedRooms(int pageNumber, String expression, RoomStatus status) {
6261
RoomClassification classification = RoomClassification.from(expression);
63-
RoomSortStrategy roomSortStrategy = roomSortStrategyFactory.getRoomSortStrategy(status);
62+
RoomSortStrategy roomSortStrategy = RoomSortStrategy.from(status);
6463
PageRequest pageRequest = PageRequest.of(pageNumber, PAGE_DISPLAY_SIZE, roomSortStrategy.toSort());
6564

6665
if (classification.isAll()) {
@@ -78,7 +77,7 @@ private List<RoomResponse> getRoomResponses(List<Room> rooms, long memberId) {
7877
private RoomResponse getRoomResponse(Room room, long memberId) {
7978
boolean isPublic = roomMatchReader.isPublicRoom(room);
8079
return participationRepository.findByRoomIdAndMemberId(room.getId(), memberId)
81-
.map(participation -> RoomResponse.of(room, participation,isPublic))
82-
.orElseGet(() -> RoomResponse.of(room, MemberRole.NONE, ParticipationStatus.NOT_PARTICIPATED,isPublic));
80+
.map(participation -> RoomResponse.of(room, participation, isPublic))
81+
.orElseGet(() -> RoomResponse.of(room, MemberRole.NONE, ParticipationStatus.NOT_PARTICIPATED, isPublic));
8382
}
8483
}

backend/src/test/java/corea/room/domain/RoomSortStrategyFactoryTest.java backend/src/test/java/corea/room/domain/RoomSortStrategyTest.java

+3-5
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,13 @@
66

77
import static org.assertj.core.api.Assertions.assertThat;
88

9-
class RoomSortStrategyFactoryTest {
9+
class RoomSortStrategyTest {
1010

1111
@ParameterizedTest
1212
@CsvSource(value = {"OPEN, RECRUITMENT_DEADLINE_DESC", "CLOSE, REVIEW_DEADLINE_DESC"})
1313
@DisplayName("방 상태에 따라 방 정렬 방식을 얻을 수 있다.")
14-
void getRoomSortStrategy(RoomStatus status, RoomSortStrategy expected) {
15-
RoomSortStrategyFactory roomSortStrategyFactory = new RoomSortStrategyFactory();
16-
17-
RoomSortStrategy actual = roomSortStrategyFactory.getRoomSortStrategy(status);
14+
void from(RoomStatus status, RoomSortStrategy expected) {
15+
RoomSortStrategy actual = RoomSortStrategy.from(status);
1816

1917
assertThat(actual).isEqualTo(expected);
2018
}

backend/src/test/java/corea/scheduler/service/AutomaticMatchingSchedulerTest.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,11 @@ class AutomaticMatchingSchedulerTest {
4444
@Autowired
4545
private AutomaticMatchingExecutor automaticMatchingExecutor;
4646

47-
private Map<Long, ScheduledFuture<?>> scheduledTasks;
47+
@Autowired
4848
private AutomaticMatchingScheduler automaticMatchingScheduler;
4949

50+
private Map<Long, ScheduledFuture<?>> scheduledTasks;
51+
5052
@BeforeEach
5153
void setup() {
5254
this.scheduledTasks = new HashMap<>();

0 commit comments

Comments
 (0)