@@ -4,6 +4,7 @@ import { JoinPage } from '../pages';
4
4
import wrapper from './helpers/wrapper' ;
5
5
import supabase from '@/supabase' ;
6
6
import '@testing-library/jest-dom' ;
7
+ import { BrowserRouter as Router } from 'react-router-dom' ;
7
8
8
9
vi . mock ( '@/supabase' , ( ) => ( {
9
10
default : {
@@ -15,11 +16,17 @@ vi.mock('@/supabase', () => ({
15
16
16
17
describe ( 'Join test' , ( ) => {
17
18
beforeEach ( ( ) => {
18
- render ( < JoinPage /> , {
19
- wrapper,
20
- } ) ;
21
19
window . HTMLDialogElement . prototype . showModal = vi . fn ( ) ;
22
20
window . HTMLDialogElement . prototype . close = vi . fn ( ) ;
21
+
22
+ render (
23
+ < Router >
24
+ < JoinPage />
25
+ </ Router > ,
26
+ {
27
+ wrapper,
28
+ } ,
29
+ ) ;
23
30
} ) ;
24
31
25
32
afterEach ( ( ) => {
@@ -107,17 +114,8 @@ describe('Join test', () => {
107
114
it ( '이용약관 및 개인정보 관련 체크를 하지 않으면 에러 텍스트를 보여줄 수 있어야 한다.' , async ( ) => {
108
115
const useTermsCheckInput = screen . getByLabelText ( / u s e T e r m s C h e c k / i) as HTMLInputElement ;
109
116
const privacyTermsCheckInput = screen . getByLabelText ( / p r i v a c y T e r m s C h e c k / i) as HTMLInputElement ;
110
-
111
- fireEvent . change ( useTermsCheckInput , {
112
- target : {
113
- checked : false ,
114
- } ,
115
- } ) ;
116
- fireEvent . change ( privacyTermsCheckInput , {
117
- target : {
118
- checked : false ,
119
- } ,
120
- } ) ;
117
+ fireEvent . click ( useTermsCheckInput ) ;
118
+ fireEvent . click ( privacyTermsCheckInput ) ;
121
119
await waitFor ( ( ) => { } ) ;
122
120
expect ( screen . getByText ( / 이 용 약 관 에 동 의 해 / ) ) . toBeInTheDocument ( ) ;
123
121
expect ( screen . getByText ( / 개 인 정 보 수 집 , 이 용 에 동 의 해 / ) ) . toBeInTheDocument ( ) ;
@@ -163,16 +161,15 @@ describe('Join test', () => {
163
161
value : '111111' ,
164
162
} ,
165
163
} ) ;
166
- fireEvent . click ( useTermsCheckInput , {
167
- target : {
168
- checked : true ,
169
- } ,
170
- } ) ;
171
- fireEvent . click ( privacyTermsCheckInput , {
172
- target : {
173
- checked : true ,
174
- } ,
175
- } ) ;
164
+
165
+ fireEvent . click ( useTermsCheckInput ) ;
166
+ const useTermsCheck = screen . getByText ( '동의하기' ) as HTMLButtonElement ;
167
+ fireEvent . click ( useTermsCheck ) ;
168
+
169
+ fireEvent . click ( privacyTermsCheckInput ) ;
170
+ const privacyTermsCheck = screen . getByText ( '동의하기' ) as HTMLButtonElement ;
171
+ fireEvent . click ( privacyTermsCheck ) ;
172
+
176
173
await waitFor ( ( ) => { } ) ;
177
174
const submitButton = screen . getByText ( '회원가입 하기' ) as HTMLButtonElement ;
178
175
fireEvent . click ( submitButton ) ;
@@ -220,16 +217,8 @@ describe('Join test', () => {
220
217
value : '123456' ,
221
218
} ,
222
219
} ) ;
223
- fireEvent . click ( useTermsCheckInput , {
224
- target : {
225
- checked : false ,
226
- } ,
227
- } ) ;
228
- fireEvent . click ( privacyTermsCheckInput , {
229
- target : {
230
- checked : false ,
231
- } ,
232
- } ) ;
220
+ fireEvent . click ( useTermsCheckInput ) ;
221
+ fireEvent . click ( privacyTermsCheckInput ) ;
233
222
await waitFor ( ( ) => { } ) ;
234
223
const submitButton = screen . getByText ( '회원가입 하기' ) as HTMLButtonElement ;
235
224
fireEvent . click ( submitButton ) ;
0 commit comments