fix: Corriger les tests E2E de blocage utilisateur qui échouent de manière intermittente
Le test user-blocking-session échouait sur Firefox car Playwright détruit le navigateur au timeout, puis le bloc finally tentait de fermer des contextes déjà détruits. Les appels browserContext.close() sont désormais protégés par .catch(). Le test user-blocking ne réinitialisait pas l'état du compte cible entre les exécutions, ce qui faisait échouer la recherche du bouton "Bloquer" si l'utilisateur était resté suspendu d'une exécution précédente.
This commit is contained in:
@@ -34,6 +34,16 @@ test.describe('User Blocking', () => {
|
||||
`docker compose -f "${composeFile}" exec -T php php bin/console app:dev:create-test-user --tenant=ecole-alpha --email=${TARGET_EMAIL} --password=${TARGET_PASSWORD} --role=ROLE_PROF 2>&1`,
|
||||
{ encoding: 'utf-8' }
|
||||
);
|
||||
|
||||
// Ensure target user is unblocked before tests start (idempotent cleanup)
|
||||
try {
|
||||
execSync(
|
||||
`docker compose -f "${composeFile}" exec -T php php bin/console dbal:run-sql "UPDATE users SET statut = 'active', blocked_at = NULL, blocked_reason = NULL WHERE email = '${TARGET_EMAIL}'" 2>&1`,
|
||||
{ encoding: 'utf-8' }
|
||||
);
|
||||
} catch {
|
||||
// Ignore cleanup errors
|
||||
}
|
||||
});
|
||||
|
||||
async function loginAsAdmin(page: import('@playwright/test').Page) {
|
||||
|
||||
Reference in New Issue
Block a user