test: cover portfolio import idempotency

This commit is contained in:
2026-08-20 15:02:47 +03:00
parent e0da7e86ad
commit 6db1312fb1
4 changed files with 39 additions and 3 deletions

View File

@@ -43,11 +43,11 @@ export function validatePortfolio(body: unknown): asserts body is PortfolioFile
}
}
export async function importPortfolio(body: unknown): Promise<ImportPortfolioResponse> {
export async function importPortfolio(body: unknown, db: Pick<typeof pool, 'connect'> = pool): Promise<ImportPortfolioResponse> {
validatePortfolio(body);
const data = body;
const sourceHash = crypto.createHash('sha256').update(JSON.stringify(data)).digest('hex');
const client = await pool.connect();
const client = await db.connect();
try {
await client.query('BEGIN');
const accountResult = await client.query(