Skip to content

Commit

Permalink
🚑 hotfix: hotfix announcement list response (#485)
Browse files Browse the repository at this point in the history
  • Loading branch information
seonghun-dev authored Jun 14, 2024
1 parent 23be312 commit 003e1b9
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.depromeet.domains.announcement.dto.response;

import com.depromeet.announcement.Announcement;
import io.swagger.v3.oas.annotations.media.Schema;

import java.time.LocalDateTime;

public record AnnouncementListResponseDto(
@Schema(description = "공지사항 아이디", example = "1")
Long announcementId,

@Schema(description = "공지사항 제목", example = "사용성 개선")
String title,

@Schema(description = "생성시간", example = "yyyy-MM-dd HH:mm:ss")
LocalDateTime createdAt
) {
public AnnouncementListResponseDto(Announcement announcement) {
this(
announcement.getId(),
announcement.getTitle(),
announcement.getCreatedAt()
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.depromeet.common.dto.PaginationResponseDto;
import com.depromeet.common.error.dto.CommonErrorCode;
import com.depromeet.common.error.exception.internal.NotFoundException;
import com.depromeet.domains.announcement.dto.response.AnnouncementListResponseDto;
import com.depromeet.domains.announcement.dto.response.AnnouncementResponseDto;
import com.depromeet.domains.announcement.repository.AnnouncementRepository;
import lombok.RequiredArgsConstructor;
Expand All @@ -18,10 +19,10 @@ public class AnnouncementService {
private final AnnouncementRepository announcementRepository;

@Transactional(readOnly = true)
public PaginationResponseDto<AnnouncementResponseDto, MetaInterface> getAnnouncements() {
public PaginationResponseDto<AnnouncementListResponseDto, MetaInterface> getAnnouncements() {
var announcements = announcementRepository.findAll()
.stream()
.map(AnnouncementResponseDto::new)
.map(AnnouncementListResponseDto::new)
.toList();
var meta = PageMetaResponseDto.builder()
.page(1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import com.depromeet.common.error.dto.CommonErrorCode;
import com.depromeet.common.error.exception.internal.NotFoundException;
import com.depromeet.domains.announcement.controller.AnnouncementController;
import com.depromeet.domains.announcement.dto.response.AnnouncementListResponseDto;
import com.depromeet.domains.announcement.dto.response.AnnouncementResponseDto;
import com.depromeet.domains.announcement.service.AnnouncementService;
import java.util.List;
Expand Down Expand Up @@ -55,7 +56,7 @@ void getAnnouncementsTestSuccess1() throws Exception {
.firstPage(true)
.lastPage(true)
.build();
PaginationResponseDto<AnnouncementResponseDto, MetaInterface> paginationResponseDto = new PaginationResponseDto<>(List.of(), meta);
PaginationResponseDto<AnnouncementListResponseDto, MetaInterface> paginationResponseDto = new PaginationResponseDto<>(List.of(), meta);
when(announcementService.getAnnouncements()).thenReturn(paginationResponseDto);

var response = mvc.perform(get("/announcements"));
Expand All @@ -73,8 +74,8 @@ void getAnnouncementsTestSuccess1() throws Exception {
@Test
void getAnnouncementsTestSuccess2() throws Exception {
var announcementResponseDto = List.of(
new AnnouncementResponseDto(new Announcement("Title 1", "Content 1")),
new AnnouncementResponseDto(new Announcement("Title 2", "Content 2"))
new AnnouncementListResponseDto(new Announcement("Title 1", "Content 1")),
new AnnouncementListResponseDto(new Announcement("Title 2", "Content 2"))
);
var meta = PageMetaResponseDto.builder()
.page(0)
Expand All @@ -83,17 +84,15 @@ void getAnnouncementsTestSuccess2() throws Exception {
.firstPage(true)
.lastPage(true)
.build();
PaginationResponseDto<AnnouncementResponseDto, MetaInterface> paginationResponseDto = new PaginationResponseDto<>(announcementResponseDto, meta);
PaginationResponseDto<AnnouncementListResponseDto, MetaInterface> paginationResponseDto = new PaginationResponseDto<>(announcementResponseDto, meta);
when(announcementService.getAnnouncements()).thenReturn(paginationResponseDto);

var response = mvc.perform(get("/announcements"));
response.andExpect(status().isOk())
.andExpect(jsonPath("$.data").isArray())
.andExpect(jsonPath("$.data.length()").value(2))
.andExpect(jsonPath("$.data[0].title").value("Title 1"))
.andExpect(jsonPath("$.data[0].content").value("Content 1"))
.andExpect(jsonPath("$.data[1].title").value("Title 2"))
.andExpect(jsonPath("$.data[1].content").value("Content 2"));
.andExpect(jsonPath("$.data[1].title").value("Title 2"));
}
}
}
Expand Down

0 comments on commit 003e1b9

Please sign in to comment.