UNPKG

@jest-mock/express

Version:

A lightweight Jest mock for unit testing Express

57 lines (47 loc) 1.47 kB
// Types import type { Request } from 'express' // Tested Module import getMockReq from '../../request/request' describe('request - GitHub Issues', () => { test('issue #6', () => { enum AppOS { Android = '1', } const req = getMockReq({ query: { os: AppOS.Android, sellerId: '12345', }, headers: { Authorization: 'valid-token', }, }) // req.query has the provided arguments expect(req.query).toBeDefined() expect(req.query).toBeInstanceOf(Object) expect(Object.keys(req.query).length).toBe(2) expect(req.query['os']).toBe(AppOS.Android) expect(req.query['sellerId']).toBe('12345') // req.headers has the provided arguments expect(req.headers).toBeDefined() expect(req.headers).toBeInstanceOf(Object) expect(Object.keys(req.headers).length).toBe(1) expect(req.headers['Authorization']).toBe('valid-token') }) test('issue #27', () => { interface CustomRequest extends Request { locals: unknown customProperty: string } const req = getMockReq<CustomRequest>({ locals: { var: 'hi there' }, customProperty: 'value', }) // req.locals has the provided arguments expect(req.locals).toBeDefined() expect(req.locals).toEqual({ var: 'hi there' }) // req.customProperty has the provided arguments expect(req.customProperty).toBeDefined() expect(req.customProperty).toEqual('value') }) })