fix: execute mit optionalen Params, release(error) bei reset-Fehler, Tests ergänzt
This commit is contained in:
@@ -62,6 +62,27 @@ describe('withTenant', () => {
|
||||
await withTenant('abc123', async (client) => {
|
||||
await client.execute('DELETE FROM sessions WHERE expired = true')
|
||||
})
|
||||
expect(mockClient.query).toHaveBeenCalledWith('DELETE FROM sessions WHERE expired = true')
|
||||
expect(mockClient.query).toHaveBeenCalledWith('DELETE FROM sessions WHERE expired = true', undefined)
|
||||
})
|
||||
|
||||
it('execute akzeptiert optionale Parameter', async () => {
|
||||
await withTenant('abc123', async (client) => {
|
||||
await client.execute('UPDATE t SET x = $1 WHERE id = $2', ['v', '1'])
|
||||
})
|
||||
expect(mockClient.query).toHaveBeenCalledWith('UPDATE t SET x = $1 WHERE id = $2', ['v', '1'])
|
||||
})
|
||||
|
||||
it('zerstört Verbindung bei search_path-Reset-Fehler (kein Recycling)', async () => {
|
||||
mockClient.query
|
||||
.mockResolvedValueOnce({ rows: [] }) // SET search_path = tenant_...
|
||||
.mockResolvedValueOnce({ rows: [] }) // fn-query
|
||||
.mockRejectedValueOnce(new Error('reset-fehler')) // SET search_path = public schlägt fehl
|
||||
|
||||
await withTenant('abc123', async (client) => {
|
||||
await client.query('SELECT 1', [])
|
||||
})
|
||||
|
||||
// release() muss mit Error aufgerufen worden sein (Verbindung zerstört, nicht recycelt)
|
||||
expect(mockClient.release).toHaveBeenCalledWith(expect.any(Error))
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user