refactor(server-nestjs): extraire les gates des specs e2e vers des fichiers utils par spec - #2698
refactor(server-nestjs): extraire les gates des specs e2e vers des fichiers utils par spec#2698shikanime wants to merge 1 commit into
Conversation
3ffed21 to
f39a964
Compare
Each e2e spec keeps only its describe body; the E2E gate, its describe.runIf alias (and, for observability, the shared Grafana subgroup constants) move to a sibling <name>.utils.ts. The vitest include globs only match *.e2e-spec.ts, so utils files stay out of both unit and gated runs. Stacked on fix/observability-dual-bucket (PR #2688). Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: I602e5529ac2cea360ce6025d4f06e0b9efe359e9
f39a964 to
a451361
Compare
|
975d543 to
a451361
Compare
shikanime
left a comment
There was a problem hiding this comment.
Verdict : Commentaire
Refactoring mécanique propre : chaque spec e2e exporte son gate dans un utils dédié et plus rien ne fuite entre specs. Deux remarques de style seulement — la CI rouge actuelle vient du test instable gitlab.service.spec.ts côté tronc, corrigé par la PR #2707.
|
|
||
| const canRunArgoCDE2E | ||
| = Boolean(process.env.E2E) | ||
| import { describeWithArgoCD } from './argocd.utils' |
There was a problem hiding this comment.
[🟡 Nit] Ordre des imports : regrouper ./argocd.utils avec les imports relatifs (après ./constants) pour rester dans le tri eslint.
| @@ -0,0 +1,5 @@ | |||
| import { describe } from 'vitest' | |||
|
|
|||
There was a problem hiding this comment.
[⚪ Suggestion] Seize fichiers jumeaux de cinq lignes (canRunX + describeWithX) : un util partagé describeWithE2E éviterait la duplication — sauf si un gate par service à court terme est l'objectif ; dans ce cas un commentaire d'intention suffit.
|
|
||
| export const describeWithObservability = describe.runIf(canRunObservabilityE2E) | ||
|
|
||
| export const ALL_GRAFANA_SUBGROUPS = [ |
There was a problem hiding this comment.
[✨ Éloge] ALL_GRAFANA_SUBGROUPS déplacé dans le même mouvement : la constante partagée vit désormais là où est le gate, plus de dépendance à la spec observability.

0 New Issues
0 Fixed Issues
0 Accepted Issues
Issues liées
#2688 (stackée dessus — à rebaser sur
mainaprès sa fusion)Quel est le comportement actuel ?
Chaque spec e2e de
apps/server-nestjs/test/duplique son propre bloc d'activation : la constantecanRun<X>E2Eet l'aliasdescribeWith<X> = describe.runIf(...).La constante partagée
ALL_GRAFANA_SUBGROUPSvit dans la spec observability.Quel est le nouveau comportement ?
Chaque spec importe son gate depuis un fichier voisin
<name>.utils.tsqui exportecanRun<X>E2EetdescribeWith<X>(et, pour observability, les constantes de sous-groupes Grafana).Les globs vitest (
src/**/*.spec.ts,test/**/*.e2e-spec.ts) ne capturent pas les fichiers.utils.ts: aucune exécution en double, aucun changement de runtime.Aucune modification du code de production ; 17 specs allégées, 17 fichiers utils créés.
Cette PR introduit-elle un breaking change ?
Non.
Autres informations
fix/observability-dual-bucket) : rebaser surmainaprès sa fusion.test/propre, tsc au baselinemain, suite gated 6/6 (E2E=1, stack dev locale), suite unit 24/24.