-
Notifications
You must be signed in to change notification settings - Fork 0
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
[Deploy] jisungin.co.kr
배포 설정
#25
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨네요! 도형님!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다!!
} | ||
|
||
@Test | ||
@DisplayName("책을 조회한다.") | ||
public void getBook() { | ||
// given | ||
Book book = bookRepository.save(create()); | ||
|
||
// when | ||
BookResponse response = bookService.getBook(book.getIsbn()); | ||
|
||
// then | ||
assertThat(response.getDateTime()).isEqualTo(book.getDateTime()); | ||
assertThat(response.getAuthors()).hasSize(2) | ||
.contains("도서 저자1", "도서 저자2"); | ||
assertThat(response) | ||
.extracting("title", "content", "isbn", "publisher", "url", "thumbnail") | ||
.contains("도서 제목", "도서 내용", "123456789X", "도서 출판사", "도서 URL", "도서 썸네일"); | ||
} | ||
|
||
@Test | ||
@DisplayName("isbn이 일치하는 책이 없는 경우 예외가 발생한다.") | ||
public void getBookWithInvalidIsbn() { | ||
// given | ||
Book book = bookRepository.save(create()); | ||
String invalidIsbn = "0000000000"; | ||
|
||
// when // then | ||
assertThatThrownBy(() -> bookService.getBook(invalidIsbn)) | ||
.isInstanceOf(BusinessException.class) | ||
.hasMessage("책을 찾을 수 없습니다."); | ||
} | ||
|
||
@Test | ||
@DisplayName("도서 정보에 대한 책을 생성한다.") | ||
public void createBook() { | ||
// given | ||
LocalDateTime registeredDateTime = LocalDateTime.now(); | ||
|
||
BookCreateServiceRequest request = BookCreateServiceRequest.builder() | ||
.title("도서 제목") | ||
.contents("도서 내용") | ||
.isbn("123456789X") | ||
.dateTime(registeredDateTime) | ||
.authors("도서 저자1, 도서 저자2") | ||
.publisher("도서 출판사") | ||
.url("도서 URL") | ||
.thumbnail("도서 썸네일") | ||
.build(); | ||
|
||
// when | ||
BookResponse response = bookService.createBook(request); | ||
|
||
// then | ||
assertThat(response.getDateTime()).isEqualTo(registeredDateTime); | ||
assertThat(response.getAuthors()).hasSize(2) | ||
.contains("도서 저자1", "도서 저자2"); | ||
assertThat(response) | ||
.extracting("title", "content", "isbn", "publisher", "url", "thumbnail") | ||
.contains("도서 제목", "도서 내용", "123456789X", "도서 출판사", "도서 URL", "도서 썸네일"); | ||
} | ||
|
||
@Test | ||
@DisplayName("isbn이 일치하는 책을 생성하는 경우 예외가 발생한다.") | ||
public void createBookWithDuplicateIsbn() { | ||
// given | ||
Book book = create(); | ||
bookRepository.save(book); | ||
|
||
BookCreateServiceRequest request = BookCreateServiceRequest.builder() | ||
.title("도서 제목") | ||
.contents("도서 내용") | ||
.isbn("123456789X") | ||
.dateTime(LocalDateTime.now()) | ||
.authors("도서 저자1, 도서 저자2") | ||
.publisher("도서 출판사") | ||
.url("도서 URL") | ||
.thumbnail("도서 썸네일") | ||
.build(); | ||
|
||
// when // then | ||
assertThatThrownBy(() -> bookService.createBook(request)) | ||
.isInstanceOf(BusinessException.class) | ||
.hasMessage("이미 등록된 책 정보 입니다."); | ||
} | ||
|
||
private static Book create() { | ||
return Book.builder() | ||
.title("도서 제목") | ||
.content("도서 내용") | ||
.authors("도서 저자1, 도서 저자2") | ||
.isbn("123456789X") | ||
.dateTime(LocalDateTime.now()) | ||
.publisher("도서 출판사") | ||
.url("도서 URL") | ||
.thumbnail("도서 썸네일") | ||
.build(); | ||
} | ||
|
||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다. 추후 수정하겠습니다.
💡 연관된 이슈
close #19
📝 작업 내용
jisungin.co.kr
로 배포 설정 했습니다.💬 리뷰 요구 사항
커밋 내용에서 질문이나 의견 있으시면 남겨주세요 !