ghostguild-org/tests/server/setup.js
Jennie Robinson Faber a516f172fb refactor: extract escapeRegex and validateTagSlugs server utils
Deduplicate tag validation and regex escaping into shared auto-imported
utils. Add tag validation to wiki patch/batch-tag routes. Remove
duplicate tags field from event schema.
2026-04-09 23:51:56 +01:00

48 lines
1.5 KiB
JavaScript

import { vi } from 'vitest'
import {
getCookie,
setCookie,
getMethod,
getHeader,
getHeaders,
setHeader,
getRequestURL,
createError,
defineEventHandler,
readBody,
getQuery,
getRouterParam,
sendRedirect
} from 'h3'
// Register real h3 functions as globals so server code that relies on
// Nitro auto-imports can find them in the test environment.
vi.stubGlobal('getCookie', getCookie)
vi.stubGlobal('setCookie', setCookie)
vi.stubGlobal('getMethod', getMethod)
vi.stubGlobal('getHeader', getHeader)
vi.stubGlobal('getHeaders', getHeaders)
vi.stubGlobal('setHeader', setHeader)
vi.stubGlobal('getRequestURL', getRequestURL)
vi.stubGlobal('createError', createError)
vi.stubGlobal('defineEventHandler', defineEventHandler)
vi.stubGlobal('readBody', readBody)
vi.stubGlobal('getQuery', getQuery)
vi.stubGlobal('getRouterParam', getRouterParam)
vi.stubGlobal('sendRedirect', sendRedirect)
vi.stubGlobal('useRuntimeConfig', () => ({
jwtSecret: 'test-jwt-secret',
helcimApiToken: 'test-helcim-token'
}))
// Stubs for Nitro auto-imported server/utils (used by handlers that don't explicitly import them)
vi.stubGlobal('requireAuth', vi.fn())
vi.stubGlobal('requireAdmin', vi.fn())
vi.stubGlobal('validateBody', vi.fn(async (event) => readBody(event)))
vi.stubGlobal('logActivity', vi.fn())
vi.stubGlobal('validateTagSlugs', vi.fn())
// Real server/utils that are safe to use as-is in tests
import { escapeRegex } from '../../server/utils/escapeRegex.js'
vi.stubGlobal('escapeRegex', escapeRegex)