Repository navigation
feat: cover every proposed e2e case and fix bugs found - #8
Merged
Merged
Conversation
홈의 네 섹션이 제목을 이름으로 갖는 영역이 되어, 같은 이름의 오늘·새로고침·이전·다음 버튼을 섹션으로 구분할 수 있습니다. 클릭만 되던 이전·다음 화살표와 공지 항목을 버튼으로 바꿨습니다. 리스트 메뉴는 줄 전체가 하나의 선택지(radio)가 되어 선택 상태를 알 수 있습니다. 루틴 종료 날짜 토글은 "종료 날짜 추가"처럼 다른 추가·삭제 버튼과 겹치지 않는 이름을 갖습니다.
…nd notices 종료한 카테고리, 루틴 종료일과 요일 변경 이력, 할 일 시간, 월간 통계 문서, 공지를 시드로 넣을 수 있게 했습니다. 공지는 모든 사용자가 함께 보는 컬렉션이라 사용자 시드와 따로 둡니다.
종료 뒤 새 카테고리의 순서, 복구, 이름 검증, 연타 방지, 수정 중 닫기 확인, 저장·순서 저장 실패, 빈 상태와 목록 읽기 실패를 확인하는 케이스를 추가했습니다.
목록 조회 요청은 users/{uid}:runQuery 로 나가므로 network.ts 의 설명을 바로잡았습니다.
앞서 섹션 이름을 머리줄(제목과 버튼)에만 걸어, 캘린더 칸이나 루틴 표 같은 본문이 그 영역 밖에 있었습니다. 네 섹션의 최상위 요소를 제목을 이름으로 갖는 section 으로 바꾸고, TitleSection 은 제목에 id 만 답니다.
이동으로 날짜 옮기기, 리스트 메뉴의 오늘 하기와 모든 할 일 삭제, 한 주 보기 끌기와 그 실패, 루틴 표 체크, 캘린더 날짜 선택, 빈 상태, 루틴 목록 읽기 실패 케이스를 추가했습니다. 끌기 도우미는 정해 둔 시간을 기다리는 대신 끌기가 실제로 시작될 때까지 기다려, 부하가 클 때 끌기가 취소되지 않습니다.
모달 안의 날짜 선택기에서 Esc 를 누르면 선택기와 함께 모달도 Esc 를 받아, 고친 게 있으면 수정 확인이 뜨고 없으면 모달이 닫혔습니다. 선택기가 열려 있을 때의 Esc 는 선택기만 닫고 모달로 전달하지 않습니다. 한 모달에 선택기가 둘이면 구분되지 않아, 루틴의 시작·변경 적용·종료 날짜 선택기에 "시작 날짜 2026. 10. 28." 처럼 지금 값과 함께 이름을 붙였습니다.
입력 검증, 시작일에 따라 밀리는 종료일, 저장 실패와 연타 방지, 지난 날로 종료, 확인을 거친 삭제의 화면 간 반영, 수정 중 닫기 확인, 요일을 그대로 둔 수정의 시작일 잠금, 기록 창, 빈 상태, 순서 저장 실패 케이스를 추가했습니다.
기간 이동과 미래 기간, 연도가 바뀌는 달, 월간에서 주간으로 바꿀 때의 기준 날짜, 루틴 기록 창의 캐시 갱신, 홈에서 추가·삭제·일괄 이동한 할 일의 반영, 남은 할 일 접기, 빈 상태 케이스를 추가했습니다.
…ight 소개 화면은 스크롤 위치를 무대 높이로 나눠 애니메이션 시점을 정하는데, 모바일에서 무대가 자리 잡기 전이나 화면을 떠나는 순간에는 높이가 0 이라 0/0 = NaN 이 됐습니다. NaN 이 체크 모양의 좌표로 흘러 들어가 콘솔 에러가 났습니다. 높이가 없을 때는 첫 장면에 둡니다.
월별 달성률의 각 줄을 목록 항목으로 그려, "9월 70%" 가 스크린 리더에 한 줄 단위로 전달되고 테스트도 줄로 찾을 수 있습니다.
다크 테마 유지, 프로필과 6개월 달성률, 탈퇴 확인 취소, 로그인한 사용자의 소개·로그인 화면 이동, 공지 정렬과 이전·다음 이동, 푸터 링크 케이스를 추가했습니다. 공지는 모든 사용자가 함께 보는 데이터라 고유 제목과 1ms 간격의 시각으로 다른 실행과 섞이지 않게 합니다.
npm run e2e:record 는 평소 테스트와 같은 앱·에뮬레이터·로그인으로 예시 데이터를 넣은 홈을 열고 멈춥니다. Playwright Inspector 의 Record 로 화면을 조작하면 그 조작이 테스트 코드로 쌓입니다. TODO 에는 아직 재현하지 못한 앱 동작과 그동안의 재현 시도를 남겼습니다.
녹화 모드로 직접 만든 흐름(리스트 메뉴 → 미완료 할 일을 다른 날 하기 → 완료 → 이동)에 결과 확인을 붙였습니다. 완료한 할 일은 남고 미완료만 다음 날로 옮겨지는지, 캘린더 숫자와 옮길 것이 없을 때의 안내를 확인합니다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
무엇을 했나
e2e/cases/*.md에 "제안" 으로 남아 있던 P2·P3 케이스 43건을 모두 구현했습니다. 이제 80개 케이스가 데스크톱·모바일로 160개 돕니다.npm run e2e:record로 클릭해서 테스트를 만드는 녹화 모드를 추가했습니다.테스트로 찾아 고친 버그
회귀 케이스는 고친 코드를 되돌리면 실패하는 것을 확인했습니다.
접근성 변경
홈 네 섹션이 제목을 이름으로 갖는 영역이 되었고, 이전·다음 화살표와 공지 항목이 버튼, 리스트 메뉴가 radio 가 되었습니다. 루틴의 날짜 선택기는 "시작 날짜 2026. 10. 28." 처럼 지금 값과 함께 이름을 갖고, 마이 화면 월별 달성률은 목록이 되었습니다.
남은 일
e2e/TODO.md: 부하가 클 때 한 번 관찰한 "다시 받아 온 집계가 진행 중인 체크 표시를 덮는" 동작. 56번 재현을 시도했으나 나오지 않아 관찰 메모로 남겼습니다.