-
Notifications
You must be signed in to change notification settings - Fork 8
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
[AN/USER] 홈 화면 회전시 이전에 선택한 화면을 그대로 보여준다. (#534) #544
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.
고생하셨습니다! 코멘트 확인 부탁드려요!
when (event) { | ||
is SignInEvent.SignInSuccess -> handleSuccessEvent() | ||
is SignInEvent.SignInFailure -> handleFailureEvent() | ||
} |
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.
handleEvent로 분리 부탁드립니다!
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.
저는 지금도 충분히 깔끔하다고 생각합니다ㅎㅎ uistate, event 둘다 있다면 모를까 지금은 분리하면 오히려 가독성이 떨어질 것 같아요!
vm.event.collect { | ||
handleEvent(it) | ||
private fun initBackPressed() { | ||
val callback = object : OnBackPressedCallback(true) { |
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.
백버튼도 커스텀이 가능하군요
} | ||
} | ||
|
||
private fun selectItemWhenSignIn(homeItemType: HomeItemType) { |
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.
함수명이 조금 어색하게 느껴진다고 생각하는데 베르의 의견은 어떤가요??
selectItemOrSignIn
와 같이 다른 함수들과 비슷하게 진행하는건 어떤가요??
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.
좋아요!
if (!authRepository.isSigned) { | ||
_event.emit(HomeEvent.ShowSignIn) | ||
} else { | ||
_selectedItem.emit(homeItemType) |
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.
if (!authRepository.isSigned) { | |
_event.emit(HomeEvent.ShowSignIn) | |
} else { | |
_selectedItem.emit(homeItemType) | |
if (authRepository.isSigned) { | |
_selectedItem.emit(homeItemType) | |
} else { | |
_event.emit(HomeEvent.ShowSignIn) |
흐름상 !
을 빼도 괜찮을 것같은데 어떻게 생각하시나요??
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.
고생하셨습니다 👍 코멘트 확인해주세요!
when (event) { | ||
is SignInEvent.SignInSuccess -> handleSuccessEvent() | ||
is SignInEvent.SignInFailure -> handleFailureEvent() | ||
} |
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.
저는 지금도 충분히 깔끔하다고 생각합니다ㅎㅎ uistate, event 둘다 있다면 모를까 지금은 분리하면 오히려 가독성이 떨어질 것 같아요!
@@ -38,85 +38,104 @@ class HomeViewModelTest { | |||
} | |||
|
|||
@Test | |||
fun `축제 목록을 요청했을 때 토큰이 있으면 축제 목록이 보인다`() = runTest { | |||
fun `축제 목록을 요청했을 때 토큰이 있으면 축제 목록이 보이고 이벤트가 발생하지 않는다`() = runTest { |
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.
필요없다는 것도 테스트로 확인하고 싶었어요!
assertThat(vm.selectedItem.value).isEqualTo(HomeItemType.FESTIVAL_LIST) | ||
|
||
// and | ||
expectNoEvents() |
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 | ||
fun `마이페이지를 요청했을 때 토큰이 있으면 마이페이지 보기 이벤트가 발생한다`() = runTest { | ||
fun `마이페이지를 요청했을 때 토큰이 있으면 마이페이지가 보이고 이벤트가 발생하지 않는다`() = runTest { |
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.
테스트 이름과 내용이 일치하지 않아요..! 마이페이지 테스트인데 TICKET_LIST를 테스트하고 있습니다ㅋㅋ
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.
고생하셨습니다!
* refactor: show 이벤트 제거 * refactor: 홈 화면 회전시 축제리스트로 되돌아가는 문제 해결 * refactor: 필요없는 이벤트 제거 * feat: 로그인하지 않고 돌아가면 축제리스트 화면으로 돌아간다 * refactor: 홈화면 로그인화면 테스트 리팩터링 * refactor: 필요 없는 코드 제거 * refactor: 테스트 함수명 의미에 맞게 변경 * refactor: selectItemOrSignIn 함수명 변경 * refactor: 함수 순서 변경 * fix: 잘못된 테스트 코드 내용 수정 * refactor: laitInit 를 by lazy 로 변경
* refactor: show 이벤트 제거 * refactor: 홈 화면 회전시 축제리스트로 되돌아가는 문제 해결 * refactor: 필요없는 이벤트 제거 * feat: 로그인하지 않고 돌아가면 축제리스트 화면으로 돌아간다 * refactor: 홈화면 로그인화면 테스트 리팩터링 * refactor: 필요 없는 코드 제거 * refactor: 테스트 함수명 의미에 맞게 변경 * refactor: selectItemOrSignIn 함수명 변경 * refactor: 함수 순서 변경 * fix: 잘못된 테스트 코드 내용 수정 * refactor: laitInit 를 by lazy 로 변경
📌 관련 이슈
✨ PR 세부 내용
홈화면에서 회전에도 이전에 선택한 화면을 기억
티켓 리스트, 마이페이지 로그인하지 않았을 경우 이벤트 발생
마이페이지 ScrollView 적용 필요