-
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
feat: Certificate page implement #18
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.
@Sunjae95 작성하신 컴포넌트에 대한 스토리랑 테스트 파일도 추가해주실 수 있으실까요?
@sounmind 페이지 레벨 컴포넌트 파일을 src/
바로 아래에 두시기를 의도하신 걸까요? 저는 아래와 같은 폴더 구조를 추천드리고 싶은데 어떻게 생각하시는지요?
├── eslint.config.js
├── index.html
├── package.json
├── public
│ └── vite.svg
├── src
│ ├── App.css
│ ├── App.tsx
│ ├── assets
│ │ └── react.svg
│ ├── components
│ │ └── Leaderboard
│ │ ├── Leaderboard.stories.ts
│ │ ├── Leaderboard.test.tsx
│ │ └── Leaderboard.tsx
│ │ └── Certificate
│ │ ├── Certificate.stories.ts
│ │ ├── Certificate.test.tsx
│ │ └── Certificate.tsx
│ ├── index.css
│ ├── main.tsx
│ ├── setupTests.tsx
│ └── vite-env.d.ts
├── tsconfig.json
└── vite.config.ts
제가 먼저 장단점을 설명해드렸으면 더 좋았을텐데 아쉽네요 😅 제가 생각하는 media print의 장점은 아래와 같습니다.
하지만 유의할 점도 존재하는데요. 이 부분은 html2canvas, jspdf에서도 동일하다고 생각돼요.
라이브러리를 추가하는 task이기에 저도 어떻게 해야할지 몰라 우선 media print를 사용하여 의견을 물어봤어요 🙂 |
@Sunjae95 상세한 설명 감사합니다 |
@sounmind 맞아요 아직 정해지지 않았는데 과하게 생각한거 아닌가 싶네요😅 |
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.
@Sunjae95 님, 프런트엔드 테스트 코드를 참 읽기 편하게 잘 작성하시네요 👍
}); | ||
|
||
test("calls window.print when the print button is clicked", async () => { | ||
vi.spyOn(window, "print").mockImplementation(() => {}); |
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.
다른 테스트에 불필요한 영향을 취소화하기 위해서 window.print()
를 원상 복귀해주는 코드를 beforeAfter()
에 추가해주셔야할 것 같습니다.
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.
이 거 조치하신 것을 보았는데 제 피드백이 약간 잘못 전달이 된 것 같습니다.
모킹하는 부분은 여기에 그대로 두셔도 되고, 다음 코드가 추가되야 할 것 같습니다.
afterAll(() => {
vi.mocked(window.print).mockRestore();
});
a80af39
to
89f1739
Compare
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.
#22 (comment) 에 👍 하셨으니 파일명을 대문자로 시작하도록 고치면 어떨까요?
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.
파일명 변경하는 부분에서 시간이 걸렸네요.
문제가 되는 부분은 두가지였어요.
1. 깃은 파일, 폴더의 대소문자를 구분못한다.
해결방법
git config core.ignorecase false
로 대소문자 변경시 깃이 트래킹하도록 변경하는 옵션git mv certificate Certificate
명령어를 통한 파일명 변경
2. 이름을 변경해도 이전 파일이 유령파일로 남아있어 로컬작업이 불가능함
예시)
해결방법
원격레포지토리에 1번에 변경된 내용을 push하고 로컬 프로젝트를 제거하고 다시 clone 받는다.
참고) 커밋 5a3c108 0d7b58d
b37b701
to
b19d065
Compare
rename: export name modify fix: function keyword, div tag remove fix: convert CSF 3.0 fix: test label fix: local variable position fix: reset mock window.print fix: apply userEvent.setUp fix: change method name from test to it fix: mock reset fix: aria-labelledby test fire: Certificate/index.tsx rename: file name temp 변경 rename: Certificate로 변경 fix: Certificate import 수정 fix: tag, useParams query fix: change to test
b19d065
to
bfeba2d
Compare
이런 버튼이 있는데 이것도 사용할지 아니면 디자인에 따라갈지 3주차 회의에서 정하는건 어떨까요?