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

[WIP] Bugfix : indispo qui termine avant de commencer #4983

Draft
wants to merge 6 commits into
base: production
Choose a base branch
from

Conversation

francois-ferrandis
Copy link
Contributor

@francois-ferrandis francois-ferrandis commented Jan 16, 2025

Note : le nom de la branche n'est pas pertinent, ignorez-le. 😉

Contexte

En travaillant sur une première version de #4976, je tentais de factoriser la validation des champs horaires des plages et absences dans le concern partagé RecurrenceConcern. La spec models/rdv_spec.rb:821 est alors passée au rouge. 🤔 J'ai alors découvert que cette spec crée une absence récurrente qui commence à 10h et finit à 10h, et que cette absence est valide ! 🤯

Comportement actuel

Je peux créer une indispo dont l'heure de début est après l'heure de fin (seulement si j'active l'option de récurrence). Cette indispo est considérée valide et a 0 occurrences.

Comportement attendu

Si je tente de créer une indispo avec une heure de fin antérieure à l'heure de début, le fomulaire affiche une erreur et m'empêche de créer l'indispo.

Solution

Le bug est causé par le fait que RecurrenceConcern#ends_at retourne nil lorsque l'indispo est récurrente. Or, ends_at est utilisée dans la validation sur les heures : si ends_at est nil, alors on ne valide pas les heures. 😉

@francois-ferrandis francois-ferrandis self-assigned this Jan 16, 2025
@francois-ferrandis francois-ferrandis changed the title [Draft] Bugfix : possibilité de créer un indispo qui termine à une heure avant de commencer [Draft] Bugfix : indispo qui termine avant de commencer Jan 16, 2025
Comment on lines +250 to +251
Naming/VariableNumber:
Enabled: false
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Rubocop m’empêchait d'appeler ma variable absence_from_8_to_9, alors que franchement c'est un super nom ! 😤

@francois-ferrandis francois-ferrandis changed the title [Draft] Bugfix : indispo qui termine avant de commencer [WIp] Bugfix : indispo qui termine avant de commencer Jan 23, 2025
@francois-ferrandis francois-ferrandis changed the title [WIp] Bugfix : indispo qui termine avant de commencer [WIP] Bugfix : indispo qui termine avant de commencer Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🔖 Ready
Development

Successfully merging this pull request may close these issues.

1 participant