From 55d54e0ff0960ec48d6ebd5b016907957a33fe4c Mon Sep 17 00:00:00 2001 From: patrick Date: Wed, 2 Sep 2026 23:32:02 +0200 Subject: [PATCH] fix(tests): expire_all() before DATEV bypass query to avoid stale identity map Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_015Ahyx6D3r7G1EuAc42nezn --- backend/tests/test_coverage_gaps.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/tests/test_coverage_gaps.py b/backend/tests/test_coverage_gaps.py index a20645d..6bb3b30 100644 --- a/backend/tests/test_coverage_gaps.py +++ b/backend/tests/test_coverage_gaps.py @@ -492,8 +492,10 @@ async def test_datev_holiday_takes_precedence_over_vacation( assert approve.status_code == 200, approve.text # RLS-Bypass gilt nur innerhalb der aktuellen Transaktion (SET LOCAL) -- der - # vorherige Bypass ist mit dem commit() oben verfallen. + # vorherige Bypass ist mit dem commit() oben verfallen. expire_all() erzwingt + # frische Queries unter dem neuen Bypass (statt gecachter Identity-Map-Objekte). await db_session.execute(text("SET LOCAL app.bypass_rls = 'on'")) + db_session.expire_all() sheet = await report_service.datev_monthly_report(company_id, user_id, 2027, 1, db_session) jan1_row = next(row for row in sheet.rows if row.day == 1) assert jan1_row.code == "F", f"Feiertag muss Vorrang vor Urlaubs-Kürzel haben, got code={jan1_row.code!r}"