Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(front): #3043 add 'from' fields in user registration form #3119

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

cspriet
Copy link
Collaborator

@cspriet cspriet commented Jan 14, 2025

No description provided.

@cspriet cspriet linked an issue Jan 14, 2025 that may be closed by this pull request
@cspriet cspriet changed the title Add 'from' fields in user registration form feat(font): #3043 add 'from' fields in user registration form Jan 14, 2025
@@ -208,4 +208,31 @@ describe("StructureFormStepController", () => {
expect(values.centralSomething).toBeUndefined();
});
});

describe("onUpdateRegistrationSrc", () => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Il manque un mock sur ctrl.onUpdate non ?

Copy link
Collaborator Author

@cspriet cspriet Jan 15, 2025

Choose a reason for hiding this comment

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

@mxmeunier je ne pense pas, ici je teste la fonction d'update sur le champ registrationSrc qui appelle elle même directement onUpdate.
Mais j'ai peut-être raté un truc dans la façon de tester.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Par habitude, même si dans ce cas ça ne doit rien changer, on mock toutes les méthodes appelées par la méthode testée. Donc ici on devrait mock onUpdate (par exemple, imagine si ça changeait la valeur de values ça biaiserai le test)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Ok oui c'est plus clair

@@ -102,6 +112,26 @@ export default class StructureFormStepController {
this.dispatch(shouldBlockStep ? "error" : "valid");
}

onUpdateRegistrationSrc(values: Record<string, unknown>) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

On peut avoir du contexte / commentaire sur pourquoi on remplace registrationSrcEmail et registrationSrcDetail par une chaîne vide pour COLLEAGUES_HIERARCHY et OTHER ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Parce que sinon la donnée est sauvegardée même si la valeur de registrationSrc n'est pas la bonne.
J'ai hésité à le faire juste avant la sauvegarde effective ou ici. Tu en penses quoi ?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yes au final j'ai compris en lisant tout le code, mais un petit commentaire serait cool pour gagner du temps de compréhension si on revient dessus dans 3 mois

bind:value={values.registrationSrc} />
</div>

{#if values?.registrationSrc && values?.registrationSrc.includes(RegistrationSrcTypeEnum.COLLEAGUES_HIERARCHY)}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Normalement c'est au controller d'avoir la logique; il faut une méthode ctrl.isRegisteredFromColleaguesOrHierarchy + ctrl.isRegisteredFromOther ou équivalent pour enlever la logique des fichiers svelte

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@mxmeunier ok, oui ce sera plus propre effectivement.

@cspriet cspriet requested a review from mxmeunier January 15, 2025 18:48
@alice-telescoop alice-telescoop changed the title feat(font): #3043 add 'from' fields in user registration form feat(front): #3043 add 'from' fields in user registration form Jan 16, 2025
Copy link
Collaborator

@alice-telescoop alice-telescoop left a comment

Choose a reason for hiding this comment

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

Le composant structureFormStep est aussi utilisé dans le profil. Soit il faut de la gestion pour le cacher sur le profil, soit il faut que l'info soit transmise aussi quand on change le profil, et gérer de vider le mail et/ou "autre" si c'est rempli

Comment on lines 165 to 168
if (registerSrcValue && registerSrcValue.includes(RegistrationSrcTypeEnum.COLLEAGUES_HIERARCHY)) {
return true;
}
return false;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
if (registerSrcValue && registerSrcValue.includes(RegistrationSrcTypeEnum.COLLEAGUES_HIERARCHY)) {
return true;
}
return false;
return registerSrcValue && registerSrcValue.includes(RegistrationSrcTypeEnum.COLLEAGUES_HIERARCHY)

Comment on lines 171 to 176
isRegistrationSrcDetailsVisible(registerSrcValue: RegistrationSrcTypeEnum[]) {
if (registerSrcValue && registerSrcValue.includes(RegistrationSrcTypeEnum.OTHER)) {
return true;
}
return false;
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
isRegistrationSrcDetailsVisible(registerSrcValue: RegistrationSrcTypeEnum[]) {
if (registerSrcValue && registerSrcValue.includes(RegistrationSrcTypeEnum.OTHER)) {
return true;
}
return false;
}
isRegistrationSrcDetailsVisible(registerSrcValue: RegistrationSrcTypeEnum[]) {
return registerSrcValue && registerSrcValue.includes(RegistrationSrcTypeEnum.OTHER)
}

@cspriet
Copy link
Collaborator Author

cspriet commented Jan 17, 2025

Le composant structureFormStep est aussi utilisé dans le profil. Soit il faut de la gestion pour le cacher sur le profil, soit il faut que l'info soit transmise aussi quand on change le profil, et gérer de vider le mail et/ou "autre" si c'est rempli

Ça c'est bon, ça passe dedans, par contre il y a un problème (au moins) à la sauvegarde.

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.

Ajouter un champ au formulaire d'inscription
3 participants