Some checks failed
CI / skip-ci-check (pull_request) Successful in 1m19s
CI / lint-and-type-check (pull_request) Failing after 1m37s
CI / test (pull_request) Successful in 2m16s
CI / build (pull_request) Failing after 1m46s
CI / secret-scanning (pull_request) Successful in 1m20s
CI / dependency-scan (pull_request) Successful in 1m27s
CI / sast-scan (pull_request) Successful in 2m29s
CI / workflow-summary (pull_request) Successful in 1m18s
- Add duplicate photo detection (file hash and URL checking) - Add max attempts per photo with UI counter - Simplify penalty system (auto-enable when points > 0) - Prevent scores from going below 0 - Add admin photo deletion functionality - Improve navigation with always-visible logout - Prevent users from guessing their own photos
40 lines
851 B
JavaScript
40 lines
851 B
JavaScript
// Learn more: https://github.com/testing-library/jest-dom
|
|
import '@testing-library/jest-dom'
|
|
|
|
// Polyfill for TextEncoder/TextDecoder
|
|
import { TextEncoder, TextDecoder } from 'util'
|
|
global.TextEncoder = TextEncoder
|
|
global.TextDecoder = TextDecoder
|
|
|
|
// Mock Next.js router
|
|
jest.mock('next/navigation', () => ({
|
|
useRouter() {
|
|
return {
|
|
push: jest.fn(),
|
|
replace: jest.fn(),
|
|
prefetch: jest.fn(),
|
|
back: jest.fn(),
|
|
pathname: '/',
|
|
query: {},
|
|
asPath: '/',
|
|
}
|
|
},
|
|
usePathname() {
|
|
return '/'
|
|
},
|
|
useSearchParams() {
|
|
return new URLSearchParams()
|
|
},
|
|
}))
|
|
|
|
// Mock next-auth/react
|
|
jest.mock('next-auth/react', () => ({
|
|
useSession: jest.fn(() => ({
|
|
data: null,
|
|
status: 'unauthenticated',
|
|
})),
|
|
signIn: jest.fn(),
|
|
signOut: jest.fn(),
|
|
SessionProvider: ({ children }) => children,
|
|
}))
|