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

[Sprint 1] 거래 내역을 추가 및 수정하는 모달에 대한 UI 구현 #5 #42

Merged
merged 23 commits into from
Feb 5, 2022

Conversation

jhLim97
Copy link
Owner

@jhLim97 jhLim97 commented Feb 5, 2022

PC 버전

image

모바일 버전(iPhone SE)

image

구현한 내용

  • 모달 상태관리를 위한 recoil atom을 구현했습니다.
  • 거래내역을 추가 및 수정할 수 있는 모달 UI를 구현했습니다.
  • PC, 모바일 버전에 맞춰서 반응형 웹을 구현했습니다.
  • 카테고리, 결제수단 Drop down은 미구현 상태입니다.

어려웠던 점 및 해결한 방향

  1. 테스트코드 작성하기
  • 많은 글들을 찾아보고 저의 생각을 합쳐보면서 프론트엔드에서의 testing-library를 사용해 테스트 하고자 하는 기준을 생각해 보았습니다.
  • 계속 공부를 해봐야 겠지만, 가장 기본적인 컴포넌트의 요소들이 렌더링이 됐는지 부터 이벤트 같은 동적인 요소들에 대해서는 단위테스트 또는 통합테스트를 계속 진행할 예정입니다.
  • Recoil, util 함수들에 대해서는 명확하게 단위테스트를 작성할 수 있기 때문에 해당부분에 대해서는 jest만으로 단위테스트를 계속해서 작성할 계획입니다.

추가상식

  1. form의 경우 getByRole 하기위해서 aria-label 붙여줄 필요가 있습니다.

체크리스트

  • 프론트엔드 Test Code 작성하기
  • console.log 지우고 올리기(TODO 익스텐션 제외)
  • .env파일, node_modules 올리지 않기
  • IP, PORT, SECRET KEY 등 → .env파일에 넣기
  • 주석 금지

* 특정 거래내역 클릭시 해당 내역을 모달창으로 띄우기 위한 상태관리 변경
  핸들러를 추가했습니다.
* 전역으로 관리하는 모달상태를 기반으로 해당하는 거래내역을
  렌더링합니다.
* 현재 UI만 구현된 상태이고, 삭제 및 수정과 같은 이벤트 핸들러는 미구현
  상태입니다.
* 거래내역 관련 모달 중 업데이트 및 삭제를 할 수 있는 모달에 대해서
  컴포넌트명을 update가 들어가도록 수정했습니다.
* form 컴포넌트의 경우 필요한 핸들러들을 상위요소에서 props로 내려받도록
  수정했습니다.
* form의 수정버튼의 type 속성을 update로 변경했습니다.
@jhLim97 jhLim97 merged commit 67dcd8f into main Feb 5, 2022
@jhLim97 jhLim97 changed the title [Sprint 1] 거래 내역을 추가 및 수정하는 모달에 대한 UI 구현 [Sprint 1] 거래 내역을 추가 및 수정하는 모달에 대한 UI 구현 #5 Feb 5, 2022
@jhLim97
Copy link
Owner Author

jhLim97 commented Feb 5, 2022

거래내역 수정 및 삭제 API 연동 시 입력 값에 대한 검증로직 및 요구되는 input이 다 채워졌을 경우에만 수정 버튼이 활성화되도록 하고 그에 대한 테스트 코드 작성이 필요해 보입니다.

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.

1 participant