Skip to content

PASS IAE: amélioration de la règle autorisant ou non une prolongation - #6872

Merged
xavfernandez merged 2 commits into
masterfrom
xf/last_for_user
Sep 19, 2025
Merged

PASS IAE: amélioration de la règle autorisant ou non une prolongation#6872
xavfernandez merged 2 commits into
masterfrom
xf/last_for_user

Conversation

@xavfernandez

Copy link
Copy Markdown
Contributor

🤔 Pourquoi ?

Avec les doublons de candidat, il est possible pour un candidat d'avoir 2 PASS et d'avoir l'ancien PASS encore actif (via des suspensions/prolongations) tandis que le PASS plus récent n'est plus actif.
Dans ce cas, le PASS actif ne pouvait pas être prolongé. Cette PR corrige ce cas.

🍰 Comment ?

Décrivez en quelques mots la solution retenue et mise en oeuvre, les difficultés ou problèmes rencontrés. Attirez l'attention sur les décisions d'architecture ou de conception importantes.

🚨 À vérifier

  • Mettre à jour le CHANGELOG_breaking_changes.md ?
  • Ajouter l'étiquette « Bug » ?

🏝️ Comment tester ?

Les instructions pour reproduire le problème, les profils de test, le parcours spécifique à utiliser, etc. Si vous disposez d'une recette jetable, mettre l'URL pour tester dans cette partie.

💻 Captures d'écran

@xavfernandez xavfernandez self-assigned this Sep 18, 2025
@xavfernandez xavfernandez added the modifié Modifié dans le changelog. label Sep 18, 2025

@francoisfreitag francoisfreitag left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Je ne comprends pas la remarque :

Since IS_OPEN_TO_PROLONGATION_BOUNDARIES_MONTHS_BEFORE_END = 7 months is smaller than WAITING_PERIOD_YEARS = 2 years, it should work fine.

?

@xavfernandez

Copy link
Copy Markdown
Contributor Author

Dans le cas contraire (si on pouvait prolonger un pass après son délai de carence), l'utilisation de latest_approval poserait soucis car cette property ne renvoie pas de PASS après leur délai de carence...

Comment thread tests/approvals/tests.py
assert approval.number_with_spaces == expected

def test_is_last_for_user(self):
def test_can_be_prolonged(self):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Dans ce test on peut peut-être garder les assertions à la fin et faire se terminer approval1 il y a moins de 7 mois, pour bien vérifier que can_be_prolonged prend en compte les 2 pass ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

En fait les 7 mois, c'est avant la date de fin. Un PASS expiré ne peut plus être prolongé par l'utilisateur. Mais j'ai tout de même fait la modif 👍

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Ah oui je me suis emmêlé les pinceaux. Dans le cadre de cette PR le PASS le plus récent forcément est désactivé 👍

it is cheap and might avoid extra queries
@xavfernandez

Copy link
Copy Markdown
Contributor Author

J'ai supprimé la remarque sur IS_OPEN_TO_PROLONGATION_BOUNDARIES_MONTHS_BEFORE_END & WAITING_PERIOD_YEARS car effectivement elle n'avait pas de sens.

With duplicate job seekers it is possible for a job seeker to end up
with two approvals.
And thanks to suspension/prolongation it is also possible to have a
"previous" (start_at sooner) approval still active while the
"is_last_for_user" approval being not "open_to_prolongation" anymore.

Instead, only allow the latest_approval to be prolonged.

@EwenKorr EwenKorr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

C'est bon pour moi !

@xavfernandez
xavfernandez added this pull request to the merge queue Sep 19, 2025
Merged via the queue into master with commit 0e6d9b0 Sep 19, 2025
14 checks passed
@xavfernandez
xavfernandez deleted the xf/last_for_user branch September 19, 2025 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

modifié Modifié dans le changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants