UNPKG

mappersmith

Version:

It is a lightweight rest client for node.js and the browser

38 lines (31 loc) 1.19 kB
import TimeoutMiddleware from './timeout' import type { AbortFn, MiddlewareDescriptor, MiddlewareParams } from './index' import { requestFactory } from '../test/index' const abort: AbortFn = () => ({}) describe('Middleware / Timeout', () => { let middleware: Partial<MiddlewareDescriptor> const params: MiddlewareParams = { clientId: 'testClient', context: {}, resourceMethod: 'bar', resourceName: 'Foo', } beforeEach(() => { middleware = TimeoutMiddleware(100)(params) }) it('exposes name', () => { expect(TimeoutMiddleware(100).name).toEqual('TimeoutMiddleware') }) it('configures the timeout', async () => { const request = requestFactory() const newRequest = await middleware.prepareRequest?.(() => Promise.resolve(request), abort) expect(newRequest?.timeout()).toEqual(100) }) describe('when the timeout property is explicitly defined', () => { it('keeps the original timeout value', async () => { const request = requestFactory({ timeout: 500 }) const newRequest = await middleware.prepareRequest?.(() => Promise.resolve(request), abort) expect(newRequest?.timeout()).toEqual(500) }) }) })