Merge pull request #33427 from feinoujc/pollyjs2

[@pollyjs/core] route filter predicate
This commit is contained in:
Jesse Trinity
2019-02-28 10:38:23 -08:00
committed by GitHub
2 changed files with 13 additions and 3 deletions

View File

@@ -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 <https://github.com/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 {

View File

@@ -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') {