Skip to content

test(playwright): couvrir les surfaces non testées de la console - #2943

Open
shikanime wants to merge 1 commit into
mainfrom
feat/playwright-coverage-gaps
Open

shikanime wants to merge 1 commit into
mainfrom
feat/playwright-coverage-gaps

Conversation

@shikanime

@shikanime shikanime commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Issues liées

Aucune issue ouverte ne couvre ces manques de couverture ; la justification est documentée ci-dessous et dans l'audit de la suite Playwright. (fermeture délibérée après la fusion : néant)


Quel est le comportement actuel ?

Sept surfaces de la console n'ont aucun test e2e : l'onglet Services externes d'un projet (aucune référence à test-tab-services dans la suite), l'UI de déploiement (deux tests test.skip depuis l'ajout de la fonctionnalité), l'onglet Clusters du projet, l'onglet Configuration du projet, la page Plugins admin, la page Réglages console et la page Status des services — plus la page 404. Par ailleurs, trois tests de clusters.spec.ts ne portent pas le tag @e2e et ne sont donc jamais sélectionnés par le grep CI, et le cleanup Keycloak (tag @integ dans le répertoire e2e) est injoignable dans les deux modes documentés.

Quel est le nouveau comportement ?

  • 7 nouveaux specs e2e (8 tests) : Services externes (état vide, vue utilisateur puis admin via Administration → Projets), clusters du projet, configuration du projet (bascule limitless + quotas hprod), Plugins admin, Réglages système (lecture seule, aucun clic sur les toggles), Status des services, page 404.
  • deployment.spec.ts dé-skippé et réécrit en 3 tests (prérequis sans environnement/dépôt, création, suppression) ; helpers/deployment.ts aligné sur l'UI réelle (radio riche cliqué via son label, sélecteur de dépôt, DeleteForm) et attend les lignes environnement/dépôt avant d'ouvrir le modal — sinon le bouton agit sur des données non chargées (race observée).
  • Les 3 tests clusters non tagués portent désormais @e2e et entrent dans la sélection CI.
  • Keycloak : describe en mode serial, cleanup converti de test @integ (injoignable) en afterAll exécuté en mode e2e.

Cette PR introduit-elle un breaking change ?

Non.

Autres informations

Basée sur #2940 (fiabilisation), désormais fusionné : la branche est rebasée sur main en un commit unique (e723868). Vérification sur stack CI locale (Node 26.7.0, Chromium, 1 worker, retries 0) : les 11 nouveaux/réécrits passent (27 s), clusters 10/10, keycloak 9/9 avec cleanup vérifié (compteur de groupes stable avant/après relance, 0 utilisateur résiduel), directory complet 95/96 — l'unique échec est la race produit documentée du formulaire de création de cluster (voir #2940), non liée à cette PR. tsc --noEmit et eslint : exit 0 ; listing 192 tests (24 fichiers) contre 176 (17 fichiers) avant.

@github-actions github-actions Bot added the built label Oct 26, 2026
@shikanime shikanime added the enhancement New feature or request label Oct 26, 2026
@shikanime shikanime self-assigned this Oct 26, 2026
@shikanime
shikanime added this pull request to stack #2944 October 26, 2026 18:52
StephaneTrebel
StephaneTrebel previously approved these changes Oct 28, 2026

@StephaneTrebel StephaneTrebel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Les ajouts couvrent les surfaces annoncées et le nettoyage Keycloak est désormais raccordé à la fin de suite ; aucun défaut bloquant identifié dans le diff. Collecte de 192 tests/24 fichiers, typage (avec neutralisation de la dépréciation TypeScript 6 locale) et ESLint réussis ; E2E non réexécutés localement, avec une remarque non bloquante sur la preuve de sauvegarde.

Base automatically changed from fix/playwright-e2e-stability to main October 28, 2026 12:49
@shikanime
shikanime force-pushed the feat/playwright-coverage-gaps branch 2 times, most recently from 80f1130 to 66d8ce3 Compare October 28, 2026 12:55
- Nouveaux specs e2e : services externes (état vide, vue utilisateur et
  admin), onglet clusters du projet, onglet configuration du projet
  (bascule limitless + quotas), plugins admin, réglages système
  (lecture seule), status des services, page 404.
- Déploiements : dé-skip et réécriture des tests (prérequis sans env/dépôt,
  création, suppression) avec des sélecteurs vérifiés sur la stack CI ;
  helpers/deployment.ts alignés (radio riche cliqué via son label,
  attente des lignes environnement/dépôt avant d'ouvrir le modal, sinon
  le bouton agit sur des données non chargées).
- Clusters : ajout du tag @e2e aux trois tests non tagués (informations
  200-1000 chars, >1000 chars, label verrouillé par un environnement) —
  ils n'étaient jamais sélectionnés par le grep CI.
- Keycloak : passage du describe en mode serial et transformation du test
  de cleanup (tag @Integ, injoignable dans les deux modes documentés) en
  afterAll ; le cleanup s'exécute désormais en mode e2e.

Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: Id64b448d0ed7444518cf1fd566cc89cf6a6a6964

@shikanime shikanime left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict : Commentaire

Sept nouvelles surfaces couvertes, le déploiement dé-skippé avec une garde explicite contre la course au chargement des tableaux environnement/dépôt, et le cleanup Keycloak enfin joignable : le diff tient chacune des promesses du corps de la PR. Scan de sécurité des lignes ajoutées propre, helpers et imports cohérents avec la suite existante, CI verte sur e723868. Les parcours e2e ne sont pas réexécutés ici — l'exécution locale documentée dans la PR fait foi.

Comment thread playwright/e2e-tests/deployment.spec.ts Resolved
@shikanime
shikanime marked this pull request as ready for review October 28, 2026 14:19
@shikanime
shikanime requested a review from a team as a code owner October 28, 2026 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

built enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants