Le beforeAll du test réinitialise le statut de l'utilisateur cible via SQL direct (dbal:run-sql), mais le CachedUserRepository (cache-aside Redis) conserve l'ancienne entrée avec statut "suspended". Quand le BlockUserHandler charge l'utilisateur, il lit le cache Redis périmé et refuse le blocage car le compte apparaît déjà suspendu. Le clearCache() ne vidait que paginated_queries.cache. En ajoutant users.cache, le cache Redis de l'utilisateur est invalidé et le handler lit bien le statut "active" depuis PostgreSQL.
9.1 KiB
9.1 KiB