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

refactor: notification을 타입계층으로 리팩터링 #929

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from

Conversation

coli-geonwoo
Copy link
Contributor

🚩 연관 이슈

close #926


📝 작업 내용

  • Notification 객체의 도메인과 entity를 분리합니다.
  • NotificiationService 내부에서는 알림객체를 entity로 바라보고 로직을 작성할 수 있습니다.
  • 알림을 보내는 상위 객체에서는 알림 객체를 domain으로 바라보고 로직을 작성할 수 있습니다.

🏞️ 스크린샷 (선택)


🗣️ 리뷰 요구사항 (선택)

❌ 아직 리뷰하지 말아주세요 -> PR 관련 노션 페이지 작성 예정

  • 제 로컬에서는 레디스 테스트가 계속 통과하지 않는데 CI 환경에서는 통과해서 local 문제라 판단하여 우선 더 늦기 전에 PR 올려둡니다.

@coli-geonwoo coli-geonwoo requested a review from mzeong December 14, 2024 10:16
@coli-geonwoo coli-geonwoo self-assigned this Dec 14, 2024
@coli-geonwoo coli-geonwoo linked an issue Dec 14, 2024 that may be closed by this pull request
1 task
@coli-geonwoo coli-geonwoo removed the request for review from mzeong December 14, 2024 10:16
Copy link

Test Results

 62 files   62 suites   13s ⏱️
208 tests 208 ✅ 0 💤 0 ❌
209 runs  209 ✅ 0 💤 0 ❌

Results for commit deb422d.

Copy link

📝 Test Coverage Report

Overall Project 82.94% 🍏
Files changed 100% 🍏

File Coverage
Notification.java 100% 🍏
NotificationService.java 100% 🍏
Entry.java 100% 🍏
AbstractNotification.java 100% 🍏
MemberDeletion.java 100% 🍏
MateLeave.java 100% 🍏
Nudge.java 100% 🍏
DepartureReminder.java 100% 🍏
MateService.java 95.75% 🍏

@@ -195,5 +204,46 @@ void returnMissing_When_isMissing_Mate() {
assertThat(mateEtaResponses.mateEtas().get(1).status()).isNotEqualTo(EtaStatus.MISSING);
}
}

Copy link
Contributor Author

@coli-geonwoo coli-geonwoo Dec 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

리팩터링으로 인해 findAllMeetingLogsOrderOfEntryAndDepartureNotification()를 대체할 테스트를 인수 테스트로 추가하였습니다.

import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

class DepartureReminderTest {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

발송 시점이 현재 시점보다 이른 경우, 즉시 발송한다는 책임은 NotificatinService가 아닌 DepartureReminder의 내부 로직으로 캡슐화되어 테스트를 이전했습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

refactor: Notification Entity를 타입계층으로 리팩터링
1 participant