Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test/#54 뉴스 관련 테스트코드 구현 #140

Merged
merged 16 commits into from
Jun 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions backend/core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ dependencies {
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
testImplementation 'io.rest-assured:rest-assured:5.1.1'
}

tasks.named('bootBuildImage') {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.rollthedice.backend.domain.news.api;

import com.rollthedice.backend.domain.crawling.NewsCrawlingService;
import com.rollthedice.backend.domain.news.dto.response.NewsDetailResponse;
import com.rollthedice.backend.domain.news.dto.response.NewsResponse;
import com.rollthedice.backend.domain.news.dto.response.ReadNewsResponse;
Expand All @@ -19,7 +18,6 @@
public class NewsController implements NewsApi {
private final NewsService newsService;
private final ReadNewsService readNewsService;
private final NewsCrawlingService crawlingService;

@ResponseStatus(HttpStatus.OK)
@GetMapping("")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@

import com.rollthedice.backend.global.config.BaseTimeEntity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.*;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.annotations.ColumnDefault;

Expand All @@ -31,9 +28,14 @@ public class News extends BaseTimeEntity {
private long views;

@Builder
public News(String url, String thumbnailUrl) {
public News(Long id, String url, String thumbnailUrl, String title, String content, String category, String postDate) {
this.id = id;
this.url = url;
this.thumbnailUrl = thumbnailUrl;
this.title = title;
this.content = content;
this.category = category;
this.postDate = postDate;
}

public void addNewsBody(String title, String content, String category, String postDate) {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,5 @@ public enum ErrorCode {


private final HttpStatus status;
private final String message;
private final String errorMessage;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,20 @@
import lombok.Getter;
import org.springframework.http.HttpStatus;

import java.util.Collections;

@Getter
public class ErrorResponse {
private HttpStatus status;
private String message;
private final HttpStatus status;
private final String errorMessage;

public ErrorResponse(HttpStatus status, String message) {
public ErrorResponse(HttpStatus status, String errorMessage) {
this.status = status;
this.message = message;
this.errorMessage = errorMessage;
}

public static ErrorResponse create(final ErrorCode errorCode) {
return new ErrorResponse(
errorCode.getStatus(),
errorCode.getMessage()
errorCode.getErrorMessage()
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ protected ResponseEntity<ErrorResponse> handleRuntimeException(BusinessException
return ResponseEntity
.status(errorCode.getStatus())
.body(new ErrorResponse(errorCode.getStatus(),
errorCode.getMessage()));
errorCode.getErrorMessage()));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ public class BusinessException extends RuntimeException{
private final ErrorCode errorCode;

public BusinessException(ErrorCode errorCode) {
super(errorCode.getMessage());
super(errorCode.getErrorMessage());
this.errorCode = errorCode;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public void sendAccessAndRefreshToken(HttpServletResponse response, String email
log.info("Access Token, Refresh Token 헤더 설정 완료");
}

private String createAccessToken(String email) {
public String createAccessToken(String email) {
Date now = new Date();
return JWT.create()
.withSubject(ACCESS_TOKEN_SUBJECT)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package com.rollthedice.backend.domain.news;

import com.rollthedice.backend.domain.member.entity.Member;
import com.rollthedice.backend.domain.news.dto.ContentMessageDto;
import com.rollthedice.backend.domain.news.dto.response.NewsDetailResponse;
import com.rollthedice.backend.domain.news.entity.News;

public class NewsFixture {
public static News NEWS(Member member) {
return News.builder()
.id(1L)
.url("https://n.news.naver.com/article/025/0003367131?sid=104&type=journalists&cds=news_edit")
.thumbnailUrl("https://imgnews.pstatic.net/image/025/2024/06/17/0003367131_001_20240617001153411.jpg?type=w647")
.title("백지에 펜 1자루, 물 1병만 허용…바이든·트럼프 90분 맨몸 토론")
.content("조 바이든 미국 대통령과 도널드 트럼프 전 대통령이 27일 첫 TV 토론에서 맞붙는다. 2020년 10월 이후 처음으로 성사된 두 사람의 공개 토론이다.\n" +
"\n" +
"CNN이 공개한 세부규칙에 따르면 전·현직 대통령의 첫 TV토론은 청중이 없는 스튜디오에서 진행자만을 가운데 두고 단상에 마주 서는 구조로 진행된다. 누가 어느 쪽 단상을 사용할지는 동전 던지기로 결정한다.\n" +
"\n" +
"생방송 토론에서 두 사람에게 지급되는 건 백지와 펜 한 자루, 물 한병이 전부다. 또 90분 토론 내내 서 있어야 한다. 각각 81세와 78세인 바이든·트럼프 두 후보의 입장에서 보면, 이번 토론은 기억력 대결인 동시에 체력전이 될 전망이다.\n" +
"\n" +
"질문에 대한 답변 시간은 2분. 이후 1분간의 반박 시간이 추가된다. 반박에 대한 재반박 시간 역시 1분이다. 시간 제한이 끝나면 마이크가 꺼진다.\n" +
"\n" +
"토론회의 설계와 감독은 2012년 부통령 후보 토론과 2020년 대선 후보 토론에 이어 이번에도 론 클라인 전 백악관 비서실장이 맡았다. 현지 언론에 따르면 바이든은 철저한 자료분석에 이어 모의 토론을 반복하는 ‘스파링형’으로, 트럼프는 ‘임기응변형’으로 토론 준비를 하고 있다.")
.category("세계")
.postDate("2024.06.17")
.build();
}

public static NewsDetailResponse NEWS_DETAIL_RESPONSE() {
return NewsDetailResponse.builder()
.id(1L)
.url("https://n.news.naver.com/article/025/0003367131?sid=104&type=journalists&cds=news_edit")
.thumbnailUrl("https://imgnews.pstatic.net/image/025/2024/06/17/0003367131_001_20240617001153411.jpg?type=w647")
.title("백지에 펜 1자루, 물 1병만 허용…바이든·트럼프 90분 맨몸 토론")
.content("조 바이든 미국 대통령과 도널드 트럼프 전 대통령이 27일 첫 TV 토론에서 맞붙는다. 2020년 10월 이후 처음으로 성사된 두 사람의 공개 토론이다.\n" +
"\n" +
"CNN이 공개한 세부규칙에 따르면 전·현직 대통령의 첫 TV토론은 청중이 없는 스튜디오에서 진행자만을 가운데 두고 단상에 마주 서는 구조로 진행된다. 누가 어느 쪽 단상을 사용할지는 동전 던지기로 결정한다.\n" +
"\n" +
"생방송 토론에서 두 사람에게 지급되는 건 백지와 펜 한 자루, 물 한병이 전부다. 또 90분 토론 내내 서 있어야 한다. 각각 81세와 78세인 바이든·트럼프 두 후보의 입장에서 보면, 이번 토론은 기억력 대결인 동시에 체력전이 될 전망이다.\n" +
"\n" +
"질문에 대한 답변 시간은 2분. 이후 1분간의 반박 시간이 추가된다. 반박에 대한 재반박 시간 역시 1분이다. 시간 제한이 끝나면 마이크가 꺼진다.\n" +
"\n" +
"토론회의 설계와 감독은 2012년 부통령 후보 토론과 2020년 대선 후보 토론에 이어 이번에도 론 클라인 전 백악관 비서실장이 맡았다. 현지 언론에 따르면 바이든은 철저한 자료분석에 이어 모의 토론을 반복하는 ‘스파링형’으로, 트럼프는 ‘임기응변형’으로 토론 준비를 하고 있다.")
.postDate("2024.06.17")
.build();
}

public static ContentMessageDto CONTENT_MESSAGE_DTO() {
return new ContentMessageDto(1L, "롯데하이마트가 매장에서 영업을 담당하는 1400여 명의 직원을 직접 고용한다. 대규모유통업법을 준수함과 동시에 직원의 전문성을 제고하기 위한 차원이다.");
}




}
Loading
Loading