import { createError } from '../../middleware/errorHandler'; import { signToken } from '../../utils/jwt'; import jwt from 'jsonwebtoken'; describe('createError', () => { it('creates an error with statusCode and code', () => { const err = createError('Something went wrong', 404, 'NOT_FOUND'); expect(err.message).toBe('Something went wrong'); expect(err.statusCode).toBe(404); expect(err.code).toBe('NOT_FOUND'); }); }); describe('signToken', () => { it('returns a token and expiry date', () => { const { token, expiresAt } = signToken('test-user-id'); expect(typeof token).toBe('string'); expect(expiresAt).toBeInstanceOf(Date); expect(expiresAt.getTime()).toBeGreaterThan(Date.now()); }); it('encodes userId in the token', () => { const { token } = signToken('my-user-id'); const decoded = jwt.decode(token) as { userId: string }; expect(decoded.userId).toBe('my-user-id'); }); });