-
Notifications
You must be signed in to change notification settings - Fork 5
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
[FE] 훅에 필요한 테스트 추가 #358
Merged
Merged
[FE] 훅에 필요한 테스트 추가 #358
Changes from 70 commits
Commits
Show all changes
91 commits
Select commit
Hold shift + click to select a range
703deaf
refactor: useAuth에서 return하는 함수들의 이름에 하는 일의 의미를 담도록 수정
pakxe 2f0b4d5
chore: 테스트를 위한 라이브러리 설치
pakxe 65b797f
chore: jest사용을 위한 환경 세팅
pakxe 18703ac
chore: 테스트가 있으므로 폴더 내부로 파일 이동
pakxe 173e0ba
test: 이벤트 아이디를 반환하는 훅인 useEventId 테스트 로직 작성
pakxe 2b0fb5c
chore: jest 환경 세팅 파일도 컴파일 할 수 있도록 tsconfig include에 추가
pakxe 58e8448
test: 토큰과 로그인을 위한 useAuth 훅 테스트 작성
pakxe b727f8c
chore: polyfills와 path alias세팅 추가
pakxe 68191b6
chore: useFetch를 apis에서 hooks로 이동
pakxe 947277c
feat: 새로 추가된 에러 코드에 대한 메세지 추가
pakxe 651e91a
chore: 파일 이동에 따른 수정
pakxe 235e06e
feat: useAuth훅이 eventId를 스스로 호출하도록 함
pakxe 0d0532c
refactor: 객체를 쿼리스트링으로 바꾸는 함수를 분리
pakxe 81692a3
chore: 불필요한 콘솔로그 제거
pakxe 4eb2fe5
test: 모든 테스트 사전에 실행되어야 하는 모킹 수행
pakxe 6cac550
chore: 불필요한 콘솔로그 제거
pakxe 8566f08
test: auth 도메인의 msw 모킹 함수 구현
pakxe 43c65c8
chore: jsdom환경에서 실행할 msw server 세팅
pakxe c29ba9d
refactor: withEventId 타입을 사용하도록 수정
pakxe c1be90e
test: 이벤트를 생성하기 위한 useEvent 훅을 위한 테스트 코드 작성
pakxe c81ee7e
test: api 요청과 에러 상태 조작을 위한 useFetch 훅의 테스트 코드 작성
pakxe c485d91
chore: useFetch 파일 이동으로 인한 수정
pakxe ba7df61
chore: 파일 이동
pakxe 0912ee1
refactor: captureError 함수를 useFetch로부터 분리
pakxe 11fa171
test: 이벤트 도메인을 위한 msw 모킹 함수 구현
pakxe 045acaf
chore: 불필요한 폴더는 커버리지 분석에 포함되지 않도록 함
pakxe 5fb1be2
chore: jsdom 테스트를 위한 라이브러리 설치
pakxe a23e62c
feat: 환경변수에 저장된 서버 도메인이 없는 경우 빈 문자열을 사용하도록 수정
pakxe 996d3bd
feat: useError가 error도 return하도록 수정
pakxe 633398b
chore: 머지
pakxe 61f1031
chore: test 명령어 추가
pakxe 8abff57
test: 멤버 목록을 위한 모킹 함수 작성
pakxe 5c2f909
test: 멤버를 지우는 useDeleteMemberAction의 테스트 코드 작성
pakxe a36589b
test: 로그를 위한 useStepList 훅의 테스트 코드 작성
pakxe a9e22ca
test: 정산 현황 조회에서 이름 검색 결과를 위한 useSearchMemberReportList 훅의 테스트 코드 작성
pakxe ce6c858
chore: test환경에서의 location과 pathname 세팅
pakxe 2d3787c
chore: tsconfig에 jest 추가
pakxe cdc3c70
chore: 콘솔로그 제거
pakxe 2cb41fd
fix: 바뀐 endpoint로 변경
pakxe f5f532d
chore: 위치 변경으로 인한 수정
pakxe 81be86b
chore: 위치 변경으로 인한 수정
pakxe efffa83
chore: 경로 모킹 로직을 setup으로 위임
pakxe cb24a93
chore: 사용하지 않는 파일 제거
pakxe 25a52a1
chore: lint 적용
pakxe f2dae4a
chore: useFetch를 위해 핸들링 되는, 되지 않는 에러를 뱉는 모킹 함수 구현
pakxe 838bb7c
test: stepList와 관련된 api 모킹 함수 구현
pakxe f192d01
test: 정산 내역과 관련된 api 모킹 함수 구현
pakxe 6318440
chore: lint 적용
pakxe 2641ccf
test: test에 사용하는 상수 선언
pakxe 540f305
chore: stepListHandler에 합쳐진 모킹 함수 파일 제거
pakxe 7c60517
test: 정상인 경우를 먼저 판단하도록 조건문 순서 변경
pakxe 347b349
test: 정산 내역 목데이터 선언
pakxe 5007465
test: 멤버 목록 목데이터 선언
pakxe 8a7742c
test: 프로젝트에서 사용되는 도메인의 모킹 핸들러를 export
pakxe bfa5900
test: 지출 내역을 위한 useStepList 훅의 테스트 코드 작성
pakxe 5820656
chore: 테스트를 위한 라이브러리 설치
pakxe 5b956b4
Merge branch 'fe-dev' of https://github.com/woowacourse-teams/2024-ha…
pakxe 5349cec
chore: CI과정에서 test를 진행하도록 명령어 추가
pakxe 8e05c7a
test: provider안에서 호출되지 않으면 에러를 뱉는 로직의 테스트 코드 작성
pakxe 897f5c7
chore: 불필요한 파일이 coverage 에 뜨지 않도록 추가
pakxe 79354e1
test: useDeleteMemberAction 훅의 삭제 요청에서 오류가 발생했을 경우 삭제할 멤버 목록을 원래대로 돌려…
pakxe 98db28f
test: Error, FetchError 인 경우에 대해 올바르게 에러를 핸들링하는지 테스트 코드 작성
pakxe 300d80d
test: 에러를 발생시키기 위해 음수 actionId가 들어온 경우 에러 반환
pakxe f93f34b
feat: 불필요한 alert문 제거
pakxe 0c01844
chore: toEqual -> toStrictEqual로 변경
pakxe 3610b18
chore: 린트 적용
pakxe 74d5578
fix: endpoint를 잘못 기재한 부분 수정
pakxe 69ff3bc
chore: 파일이동에 따른 경로 수정
pakxe de13db6
chore: 린트 적용
pakxe be0cbfb
chore: 파일이동에 따른 경로 수정
pakxe f48e29f
feat: 비밀번호 길이인 4를 상수화해 사용하도록 수정
pakxe 98e126b
test: 요청 성공시 어떤 값을 반환하는지 구체적으로 테스트 이름에 명시
pakxe 556e9ab
chore: 린트 적용
pakxe 61c5317
test: 토큰의 다양한 에러 타입에 대해 테스트하기 위한 상수 선언
pakxe 3610bdb
test: 토큰 내용에 따라 forbidden, expired 에러를 뱉도록 분기 추가
pakxe 7f94d59
test: 토큰이 forbidden, expired 일 경우 에러를 반환하는지 테스트 코드 작성
pakxe b1ed9e5
chore: 병합
pakxe 42b51dc
chore: 디자인 시스템 라이브러리 업데이트
pakxe 081d2ad
feat: production에서만 sentry 에 로그를 보내도록 함
pakxe f7e5dfb
chore: 린트 적용
pakxe 9cb4936
chore: 999라는 오류가 발생하는 멤버를 포함하는 stepList 목데이터 작성
pakxe ec688fd
chore: 외부에서 사용하지 않는 함수 return에서 제거
pakxe e454841
test: memberActionList를 typeNarrowing으로 정제하여 사용하도록 수정
pakxe 347e7a8
test: 삭제 요청에서 오류가 발생하는 경우를 테스트하기 위해 오류 데이터가 포함된 stepList 목데이터를 사용하도록 수정
pakxe e0c3f1e
test: stepList 데이터가 채워진 후 테스트를 진행하도록 waitFor 추가
pakxe 93199a2
test: 에러 시연을 위해 actionId가 999인 경우 에러 응답을 반환하도록 변경
pakxe cc61ab5
chore: 불필요한 주석 제거
pakxe 2c37631
chore: 린트 적용
pakxe fa6262b
chore: import 경로 수정
pakxe 0caac4a
Merge branch 'fe-dev' of https://github.com/woowacourse-teams/2024-ha…
pakxe e412f83
Merge branch 'fe-dev' of https://github.com/woowacourse-teams/2024-ha…
pakxe File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
import type {Config} from 'jest'; | ||
|
||
const config: Config = { | ||
preset: 'ts-jest', | ||
// testEnvironment: 'node', // Node.js 모듈(fs, path, http 등)을 사용한 서버 사이드 로직이나 파일 시스템 접근, 네트워크 요청 등을 테스트 | ||
testEnvironment: 'jsdom', // 브라우저 내에서의 JavaScript 동작을 모방하여, DOM 조작, 이벤트 핸들링, 브라우저 관련 API 호출 | ||
transform: { | ||
'^.+\\.ts?$': 'ts-jest', | ||
}, | ||
collectCoverage: true, | ||
coverageReporters: ['text'], | ||
coveragePathIgnorePatterns: [ | ||
'<rootDir>/node_modules/', | ||
'<rootDir>/src/utils/', | ||
'<rootDir>/src/mocks/', | ||
'<rootDir>/src/apis/', | ||
'<rootDir>/src/request/', | ||
'<rootDir>/src/constants/', | ||
'<rootDir>/src/errors/', | ||
'<rootDir>/src/ErrorProvider.tsx', | ||
], | ||
|
||
verbose: true, | ||
setupFiles: ['./jest.polyfills.ts'], | ||
setupFilesAfterEnv: ['./jest.setup.ts'], | ||
transformIgnorePatterns: ['<rootDir>/node_modules/'], | ||
moduleNameMapper: { | ||
'@/(.*)$': '<rootDir>/src/$1', // path alias를 적용하기 위함 | ||
'^@apis/(.*)$': '<rootDir>/src/apis/$1', | ||
'^@constants/(.*)$': '<rootDir>/src/constants/$1', | ||
'^@hooks/(.*)$': '<rootDir>/src/hooks/$1', | ||
'^@utils/(.*)$': '<rootDir>/src/utils/$1', | ||
'^@pages/(.*)$': '<rootDir>/src/pages/$1', | ||
'^@types/(.*)$': '<rootDir>/src/types/$1', | ||
'^@errors/(.*)$': '<rootDir>/src/errors/$1', | ||
'^@mocks/(.*)$': '<rootDir>/src/mocks/$1', | ||
}, | ||
testEnvironmentOptions: { | ||
customExportConditions: [''], | ||
}, | ||
}; | ||
|
||
export default config; |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import {TextDecoder, TextEncoder} from 'node:util'; | ||
|
||
Object.defineProperties(globalThis, { | ||
TextDecoder: {value: TextDecoder}, | ||
TextEncoder: {value: TextEncoder}, | ||
}); | ||
|
||
import {Blob, File} from 'node:buffer'; | ||
|
||
import {fetch, Headers, FormData, Request, Response} from 'undici'; | ||
|
||
Object.defineProperties(globalThis, { | ||
fetch: {value: fetch, writable: true}, | ||
Blob: {value: Blob}, | ||
File: {value: File}, | ||
Headers: {value: Headers}, | ||
FormData: {value: FormData}, | ||
Request: {value: Request}, | ||
Response: {value: Response}, | ||
}); |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
import {server} from './src/mocks/server'; | ||
import * as router from 'react-router'; | ||
|
||
beforeAll(() => { | ||
server.listen(); | ||
|
||
Object.defineProperty(window, 'location', { | ||
writable: true, | ||
value: { | ||
...window.location, | ||
pathname: '/event/abc-123/', // 원하는 pathname 설정 | ||
}, | ||
}); | ||
}); | ||
afterEach(() => server.resetHandlers()); | ||
afterAll(() => server.close()); | ||
|
||
beforeAll(() => {}); | ||
jest.mock('./src/utils/captureError'); | ||
jest.mock('./src/utils/sendLogToSentry'); | ||
|
||
jest.spyOn(router, 'useNavigate').mockImplementation(() => jest.fn()); |
Oops, something went wrong.
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.
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.
jest setting 고생했어요~~