Files
record-app-next/jest.setup.js
2025-07-31 17:05:07 +08:00

50 lines
1.0 KiB
JavaScript

import '@testing-library/jest-dom'
// Mock Next.js router
jest.mock('next/navigation', () => ({
useRouter() {
return {
push: jest.fn(),
replace: jest.fn(),
prefetch: jest.fn(),
back: jest.fn(),
}
},
useSearchParams() {
return new URLSearchParams()
},
}))
// Mock NextAuth
jest.mock('next-auth/react', () => ({
useSession() {
return { data: null, status: 'unauthenticated' }
},
signIn: jest.fn(),
signOut: jest.fn(),
}))
// Mock fetch
global.fetch = jest.fn()
// Mock MediaRecorder
global.MediaRecorder = jest.fn().mockImplementation(() => ({
start: jest.fn(),
stop: jest.fn(),
pause: jest.fn(),
resume: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
}))
// Mock AudioContext
global.AudioContext = jest.fn().mockImplementation(() => ({
createAnalyser: jest.fn(() => ({
connect: jest.fn(),
disconnect: jest.fn(),
})),
createMediaStreamSource: jest.fn(() => ({
connect: jest.fn(),
disconnect: jest.fn(),
})),
}))