UNPKG

@japa/api-client

Version:

Browser and API testing client for Japa. Built on top of Playwright

75 lines (74 loc) 2.34 kB
import Macroable from '@poppinss/macroable'; import type { Assert } from '@japa/assert'; import { ApiRequest } from './request.js'; import { SetupHandler, TeardownHandler, CookiesSerializer } from './types.js'; /** * ApiClient exposes the API to make HTTP requests in context of * testing. */ export declare class ApiClient extends Macroable { #private; constructor(baseUrl?: string, assert?: Assert); /** * Remove all globally registered setup hooks */ static clearSetupHooks(): typeof ApiClient; /** * Remove all globally registered teardown hooks */ static clearTeardownHooks(): typeof ApiClient; /** * Clear on request handlers registered using "onRequest" * method */ static clearRequestHandlers(): typeof ApiClient; /** * Register a handler to be invoked everytime a new request * instance is created */ static onRequest(handler: (request: ApiRequest) => void): typeof ApiClient; /** * Register setup hooks. Setup hooks are called before the request */ static setup(handler: SetupHandler): typeof ApiClient; /** * Register teardown hooks. Teardown hooks are called before the request */ static teardown(handler: TeardownHandler): typeof ApiClient; /** * Register a custom cookies serializer */ static cookiesSerializer(serailizer: CookiesSerializer): typeof ApiClient; /** * Create an instance of the request */ request(endpoint: string, method: string): ApiRequest; /** * Create an instance of the request for GET method */ get(endpoint: string): ApiRequest; /** * Create an instance of the request for POST method */ post(endpoint: string): ApiRequest; /** * Create an instance of the request for PUT method */ put(endpoint: string): ApiRequest; /** * Create an instance of the request for PATCH method */ patch(endpoint: string): ApiRequest; /** * Create an instance of the request for DELETE method */ delete(endpoint: string): ApiRequest; /** * Create an instance of the request for HEAD method */ head(endpoint: string): ApiRequest; /** * Create an instance of the request for OPTIONS method */ options(endpoint: string): ApiRequest; }