pgsql-test
Version:
pgsql-test offers isolated, role-aware, and rollback-friendly PostgreSQL environments for integration tests — giving developers realistic test coverage without external state pollution
34 lines (33 loc) • 1.3 kB
TypeScript
import { Client, QueryResult } from 'pg';
import { PgConfig } from 'pg-env';
type PgTestClientOpts = {
deferConnect?: boolean;
trackConnect?: (p: Promise<any>) => void;
};
export declare class PgTestClient {
config: PgConfig;
client: Client;
private ctxStmts;
private _ended;
private connectPromise;
constructor(config: PgConfig, opts?: PgTestClientOpts);
private ensureConnected;
close(): Promise<void>;
begin(): Promise<void>;
savepoint(name?: string): Promise<void>;
rollback(name?: string): Promise<void>;
commit(): Promise<void>;
beforeEach(): Promise<void>;
afterEach(): Promise<void>;
setContext(ctx: Record<string, string | null>): void;
any<T = any>(query: string, values?: any[]): Promise<T[]>;
one<T = any>(query: string, values?: any[]): Promise<T>;
oneOrNone<T = any>(query: string, values?: any[]): Promise<T | null>;
many<T = any>(query: string, values?: any[]): Promise<T[]>;
manyOrNone<T = any>(query: string, values?: any[]): Promise<T[]>;
none(query: string, values?: any[]): Promise<void>;
result(query: string, values?: any[]): Promise<import('pg').QueryResult>;
query<T = any>(query: string, values?: any[]): Promise<QueryResult<T>>;
ctxQuery(): Promise<void>;
}
export {};