Public Access
feat: enhance testing framework with new test cases and configurations
This commit is contained in:
1 parent
a37c093cc4
commit
ef8fe6f938
18 files changed
+793
-6
No files matched your search
@@ -0,0 +1,37 @@
|
||||
import { describe, it, expect, vi, beforeEach } from 'vitest'
|
||||
import { asyncHandler } from './asyncHandler'
|
||||
import type { Request, Response, NextFunction } from 'express'
|
||||
|
||||
const mockReq = {} as Request
|
||||
const mockRes = {} as Response
|
||||
let mockNext: NextFunction
|
||||
|
||||
beforeEach(() => {
|
||||
mockNext = vi.fn() as unknown as NextFunction
|
||||
})
|
||||
|
||||
describe('asyncHandler', () => {
|
||||
it('calls next with error when async handler throws', async () => {
|
||||
const error = new Error('boom')
|
||||
const handler = asyncHandler(async () => {
|
||||
throw error
|
||||
})
|
||||
await handler(mockReq, mockRes, mockNext)
|
||||
expect(mockNext).toHaveBeenCalledWith(error)
|
||||
})
|
||||
|
||||
it('does not call next when handler resolves', async () => {
|
||||
const handler = asyncHandler(async () => {
|
||||
// success
|
||||
})
|
||||
await handler(mockReq, mockRes, mockNext)
|
||||
expect(mockNext).not.toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('calls next with error when handler rejects', async () => {
|
||||
const error = new Error('rejected')
|
||||
const handler = asyncHandler(() => Promise.reject(error))
|
||||
await handler(mockReq, mockRes, mockNext)
|
||||
expect(mockNext).toHaveBeenCalledWith(error)
|
||||
})
|
||||
})
|
||||
Reference in new issue
Block a user