Skip to content

[TECH] Enlever l'injection des sérialisers dans les controlleurs (devcomp)#16474

Open
bpetetot wants to merge 1 commit into
devfrom
refactor/remove-serializer-injections-in-controllers-2
Open

[TECH] Enlever l'injection des sérialisers dans les controlleurs (devcomp)#16474
bpetetot wants to merge 1 commit into
devfrom
refactor/remove-serializer-injections-in-controllers-2

Conversation

@bpetetot

@bpetetot bpetetot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

🚙 Problème

Parfois on utilise directement les serializers dans les controlleurs, parfois on les injecte dans un attribut dependencies.

Mais les serialisers sont des fonctions pures (déterministes et sans effet de bord), il y a peu d'intérêt de les injecter et mocker dans les tests unitaires.

🍃 Proposition

Il y a peu d'utilité à cette injection, je propose de simplifier et directement utiliser les serialisers dans les contrôleurs (sans injection).

Bounded contexts dans cette PR dont on a modifié les controllers:

  • devcomp

Important

Ça change la façon dont sont fait les tests unitaires des controlleurs. On ne peut plus mocker par des Symbol les entrée/sortie des sérialisers.
C'est compréhensible de souhaiter cette façon de faire, donc on peut ne pas merger cette PR si vous souhaitez conserver cette méthode de test. L'avantage est que le test n'est pas indépendant du modèle, mais l'inconvénient est qu'on test l'implémentation plutôt que le comportement.
Est-ce que les controlleurs devraient avoir des tests unitaires? Est-ce que ces tests ne sont pas déjà couvert pas les tests d'acceptance de la couche application ?

🦵 Remarques

Scout: on en profite pour simplifier l'export des controlleurs en exportant directement l'objet du controlleur.

🔗 Pour tester

CI Ok

@bpetetot bpetetot requested a review from a team as a code owner June 9, 2026 17:16
@bpetetot bpetetot self-assigned this Jun 9, 2026
@pix-bot-github

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants