98d3295ef3
Hver test får sin egen engine (function-scoped) med friske tabeller (drop_all + create_all). Appen får sin egen session per request via dependency override — ingen deling af sessions. admin_user/normal_user opretter data via egen session og lukker den. client bruger async_sessionmaker i override_get_db. Ingen _clean_db fixture, ingen outer transaction, ingen SAVEPOINT — hver test starter blankt og engine.dispose() rydder op.