From cb44a6a369e9f3e3ffbf8020bb429b65c019e1c0 Mon Sep 17 00:00:00 2001 From: feinoujc Date: Tue, 26 Feb 2019 23:23:46 -0500 Subject: [PATCH] [@pollyjs/core] route filter predicate --- types/pollyjs__core/index.d.ts | 6 +++--- types/pollyjs__core/pollyjs__core-tests.ts | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/types/pollyjs__core/index.d.ts b/types/pollyjs__core/index.d.ts index 38cd511408..7ad3c2a82f 100644 --- a/types/pollyjs__core/index.d.ts +++ b/types/pollyjs__core/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for @pollyjs/core 2.2 +// Type definitions for @pollyjs/core 2.3 // Project: https://github.com/netflix/pollyjs/tree/master/packages/@pollyjs/core // Definitions by: feinoujc // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -129,12 +129,12 @@ export class RouteHandler { once(event: RecordingRouteEvent, listener: RecordingEventListener): RouteHandler; once(event: ResponseRouteEvent, listener: ResponseEventListener): RouteHandler; once(event: ErrorRouteEvent, listener: ErrorEventListener): RouteHandler; - + filter: (callback: (req: Request) => boolean) => RouteHandler; passthrough(value?: boolean): RouteHandler; intercept( fn: (req: Request, res: Response, intercept: Intercept) => EventListenerResponse ): RouteHandler; - recordingName(recordingName: string): RouteHandler; + recordingName(recordingName?: string): RouteHandler; configure(config: PollyConfig): RouteHandler; } export class PollyServer { diff --git a/types/pollyjs__core/pollyjs__core-tests.ts b/types/pollyjs__core/pollyjs__core-tests.ts index bccd074bcf..cfe9047ccd 100644 --- a/types/pollyjs__core/pollyjs__core-tests.ts +++ b/types/pollyjs__core/pollyjs__core-tests.ts @@ -113,6 +113,16 @@ async function test() { /* Do something else */ }); + server + .get('/users/:id') + .filter(req => req.params.id === '1') + .filter(req => req.params.id !== '2') + .recordingName('test') + .recordingName() + .intercept((_req, res) => { + res.status(200).json({ email: 'user1@test.com' }); + }); + /* Intercept all Google Analytic requests and respond with a 200 */ server.get('/google-analytics/*path').intercept((req, res, intercept) => { if (req.pathname === 'test') {