Skip to content

test(playwright): uniformize declarative style across e2e specs - #2957

Open
shikanime wants to merge 1 commit into
mainfrom
chore/playwright-style-uniformization
Open

shikanime wants to merge 1 commit into
mainfrom
chore/playwright-style-uniformization

Conversation

@shikanime

@shikanime shikanime commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Pourquoi

Le style déclaratif des specs e2e divergeait selon les fichiers : tag @e2e porté tantôt par le describe, tantôt test par test, titres en should/Should mélangés, imports en alias (config/, helpers/) dans trois fichiers là où les vingt autres utilisent le relatif, commentaires de phases AAA présents dans certains fichiers et absents ailleurs. La PR #2943 introduit sept nouveaux specs dans le style maison ; cette PR aligne les seize fichiers restants sur ce même style pour que la suite soit homogène.

Quoi

  • Tag @e2e remonté au niveau du describe dans 11 fichiers (clusters, dashboard, keycloak, profile, project-logs, projects, repos, roles, service-chains, tokens, zones) ; les tags additionnels (@repos, @integ, @need-rework, @service-chains) restent portés par les tests concernés.
  • Titres de tests normalisés en should ... minuscule, conformément à la convention de la documentation Playwright (96 renoms, suite e2e et integration-tests).
  • Imports normalisés en chemins relatifs (../config, ../helpers) dans admin-users, roles, project-roles.
  • Commentaires de phases AAA ajoutés là où la structure est linéaire (Arranger/Agir/Vérifier) ; le vocabulaire hérité // Create / // Validate renommé en AAA ; les tests verify-as-you-go restent sans découpage forcé.
  • profile.spec.ts : capture du résultat de expect() dans une variable remplacée par le pattern standard await expect(locator).toContainText.

Vérification

  • Parité de sélection prouvée : pnpm --dir playwright exec playwright test --list --grep @e2e avant (sur e723868) et après (sur 53a9ae0) — mêmes 96 tests, mêmes 192 exécutions navigateur, 24 fichiers ; diff des deux listings vide après normalisation casse/ligne.
  • pnpm exec eslint e2e-tests/ : exit 0.
  • tsc --noEmit -p playwright/tsconfig.json : strictement les mêmes 2 erreurs que sur le commit parent e723868 (module @cpn-console/shared non construit dans le checkout local, RegExp.escape non typé) — aucune erreur nouvelle introduite.
  • Aucun parcours réexécuté : changement purement déclaratif, la sélection CI (--grep @e2e, shards) est inchangée.

Références

@github-actions github-actions Bot added the built label Oct 28, 2026
@shikanime
shikanime added this pull request to stack #2944 October 28, 2026 15:38
@shikanime
shikanime force-pushed the chore/playwright-style-uniformization branch from 53a9ae0 to f66896a Compare October 28, 2026 15:52
@shikanime
shikanime marked this pull request as ready for review October 28, 2026 15:54
@shikanime
shikanime requested a review from a team as a code owner October 28, 2026 15:54
StephaneTrebel
StephaneTrebel previously approved these changes Nov 1, 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.

No findings. Diff complet relu : normalisation des titres/imports/commentaires et remontée des tags, sans modification fonctionnelle relevée. La collecte reste à 192 tests/24 fichiers et les 192 sélections sont identiques à #2943 après normalisation de la casse et des numéros de ligne ; CI verte, parcours navigateur non réexécutés.

@shikanime
shikanime force-pushed the chore/playwright-style-uniformization branch from f66896a to f2db239 Compare November 2, 2026 15:44
@shikanime shikanime self-assigned this Nov 2, 2026
@shikanime shikanime added the technical debt Résoud de la dette technique label Nov 2, 2026
@shikanime shikanime added this to the 9.29.0 milestone Nov 2, 2026
@shikanime
shikanime enabled stacked auto-merge November 2, 2026 15:50
Base automatically changed from feat/playwright-coverage-gaps to main November 2, 2026 16:06
- Tag @e2e hoisted to describe level in 11 files (clusters, dashboard,
  keycloak, profile, project-logs, projects, repos, roles, service-chains,
  tokens, zones); extra tags (@repos, @Integ, @need-rework,
  @service-chains) stay per-test. Selection verified identical via
  playwright test --list --grep @e2e before and after.
- Test titles normalized to lowercase 'should ...' per the Playwright docs
  convention (97 renames), including integration-tests.
- Imports normalized to relative paths (../config, ../helpers) in
  admin-users, roles, project-roles.
- AAA phase comments (// Arrange, // Act, // Assert) added where the test
  has a linear three-phase structure; legacy // Create // Validate
  vocabulary renamed to AAA; verify-as-you-go tests left untouched rather
  than retro-fitting false boundaries.
- profile.spec.ts: expect(locator) result captured in a variable replaced
  by the standard expect(locator).toContainText pattern.

Co-authored-by: Automata <automata@shikanime.studio>
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: Iee4cfa8174c597492134df57ef61333a6a6a6964
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

built technical debt Résoud de la dette technique

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants