Initial commit

This commit is contained in:
theshy
2025-07-31 17:05:07 +08:00
parent 8fab3b19cc
commit 24f21144ab
91 changed files with 16311 additions and 159 deletions

50
jest.setup.js Normal file
View File

@ -0,0 +1,50 @@
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(),
})),
}))