UNPKG

@commercetools-frontend/sdk

Version:
39 lines (38 loc) 1.08 kB
import type { Dispatch } from 'redux'; import type { TSdkAction, Json } from '../types'; /** * START --> * Remove once `@commercetools/sdk-client` exposes proper types. */ export type Headers = { [key: string]: string; }; export type MethodType = 'GET' | 'POST' | 'DELETE' | 'HEAD' | 'OPTIONS' | 'PUT' | 'PATCH' | 'TRACE'; export type ClientRequest = { uri: string; method: MethodType; body?: unknown; headers?: Headers; }; export type HttpErrorType = { name: string; message: string; code: number; status: number; statusCode: number; originalRequest: ClientRequest; body?: Json; headers?: Headers; }; interface TSdkMockBase { action: TSdkAction; } interface TSdkMockSuccess extends TSdkMockBase { response: Json; } interface TSdkMockFailure extends TSdkMockBase { error: HttpErrorType; } export type TSdkMock = TSdkMockSuccess | TSdkMockFailure; declare const createTestMiddleware: (mocks: TSdkMock[]) => () => (next: Dispatch<TSdkAction>) => (action: TSdkAction) => Promise<Json>; export { createTestMiddleware };