Skip to content

Certification : Déclencher l’appel à l’API Particulier au moment de la création d’un diagnostic et pour les prescripteurs habilités [GEN-2250] - #6090

Merged
rsebille merged 6 commits into
masterfrom
rsebille/certify-at-diagnostic-time
May 26, 2025
Merged

Certification : Déclencher l’appel à l’API Particulier au moment de la création d’un diagnostic et pour les prescripteurs habilités [GEN-2250]#6090
rsebille merged 6 commits into
masterfrom
rsebille/certify-at-diagnostic-time

Conversation

@rsebille

@rsebille rsebille commented May 6, 2025

Copy link
Copy Markdown
Contributor

🤔 Pourquoi ?

La certification actuelle se fait uniquement après embauche et uniquement pour les diagnostics employeurs et Geiq.
On souhaiterait certifier avant l’embauche pour tous les diagnostics d’éligibilité peu importe l’auteur (Employeurs, Geiq ou Prescripteur habilité)

🍰 Comment ?

Deux parties :

  1. Afficher les informations de certifications pour les prescripteurs habilités
  2. Certifier les critères lors de la création d'un diagnostique

Points de discussion

1. On conserve l’appel API au moment de l’embauche uniquement si l’appel API n’a pas pu être fait au moment du diag

Je suis en hésitation sur le fait de l'implémenter, ce n'est en soi pas compliqué car c'est juste un filtre sur le queryset dans tasks.certify_criteria() mais je me dit que ça fait un système de rattrapage en attendant le rafraîchissement à 92 jours pour les diagnostics des PH.

#### 2. SelectedAdministrativeCriteriaQuerySet.with_is_considered_certified

Actuellement si hiring_start_at=None alors is_certified est toujours False, le commentaire indique c'est voulu mais lors de mes tests j'ai trouvé le comportement extrêmement déconcertant dans le nouveau fonctionnement. Par exemple :
- Je suis PH, je fait le diag et on me dit "Non certifié" alors que les critères ont bien été certifiés et validés. Par contre dès qu'une date de contrat est présente sur la candidature alors on affiche "Certifié", même si celle-ci a depuis été annulée par exemple.
- Même logique coté SIAE où avant l'embauche on me dit "Non certifié" et tout de suite après "Certifié", auparavant on n'affichais pas le badge si le diagnostic venait d'un PH mais maintenant oui.
=> Comportement modifié dans #6126

#### 3. Le badge de certification n'est pas affiché dans le bloc "Diagnostic IAE/GEIQ" de la page de détail du candidat

C'est le comportement actuel mais je m'attendais à le voir apparaître ici aussi, surtout que maintenant on certifie au moment du diagnostique et pas juste à l'embauche.
=> Planifié dans un autre ticket

@rsebille rsebille self-assigned this May 6, 2025
@rsebille rsebille added 1-recette-jetable [Payé à l’heure] Crée une recette jetable sur CC modifié Modifié dans le changelog. labels May 6, 2025
@github-actions

github-actions Bot commented May 6, 2025

Copy link
Copy Markdown

🥁 La recette jetable est prête ! 👉 Je veux tester cette PR !

@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.

Ohh les beaux tests tout bien organisés. 🤩
Merci d’avoir pris le temps de faire le nettoyage 👍

Comment thread itou/eligibility/enums.py
SANS_TRAVAIL_12 = "SANS_TRAVAIL_12", "Personne éloignée du marché du travail (> 1 an)"

@classmethod
def common(cls):

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.

def iae_and_geiq(cls):

Je trouve common un peu flou 🤷

Pour l’implem, ce serait peut-être pas mal d’avoir des sets geiq et iae, pour pouvoir faire iae - geiq?

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.

Le but est justement d'être un peu flou afin de dire "Ce sont ceux disponible partout", le .iae_and_geiq() poussant à mon sens la création de nouvelles combinaisons plus qu'autre chose, donc ça me va bien de rajouter un .for_iae() et.for_gieq() si ça sert ailleurs dans le code 🤔.

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.

« Ce sont ceux disponibles partout »... = dans l’IAE et les GEIQ. Lorsqu’arrivera un nouveau dispositif, les common seront à revoir et la certification aussi. 🤷

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.

Oui, mais il n'y aura pas besoin de repasser sur le code appelant (je pense surtout aux tests ;)) si lors de l'utilisation des méthodes on se pose les bonnes questions.
Et actuellement je ne pense pas qu'on ai besoin d'avoir IAE+GEIQ car soit on test 1 dispositif en particulier soit on veux le sous-ensemble commun.

Comment thread tests/www/apply/test_templates.py Outdated
Comment thread tests/eligibility/test_common.py Outdated
Comment on lines +10 to +21
@pytest.mark.parametrize(
"criteria,expected",
[
*zip(CERTIFIABLE_ADMINISTRATIVE_CRITERIA_KINDS, itertools.repeat(True)),
*zip(
set(AdministrativeCriteriaKind.common()) - CERTIFIABLE_ADMINISTRATIVE_CRITERIA_KINDS,
itertools.repeat(False),
),
],
)
@pytest.mark.parametrize("from_kind", {UserKind.EMPLOYER, UserKind.PRESCRIBER})
@pytest.mark.parametrize("factory", {IAEEligibilityDiagnosisFactory, GEIQEligibilityDiagnosisFactory})

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.

😂
Pas sûr qu’on ait besoin de toute cette couverture, mais au moins c’est couvert !

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.

Oui 😁, c'est mon petit bonbon ce test :P.

Comment thread itou/eligibility/models/iae.py
@rsebille
rsebille force-pushed the rsebille/certify-at-diagnostic-time branch from 6511ea1 to c5db15a Compare May 22, 2025 13:31
@rsebille
rsebille added this pull request to the merge queue May 26, 2025
Merged via the queue into master with commit a289097 May 26, 2025
@rsebille
rsebille deleted the rsebille/certify-at-diagnostic-time branch May 26, 2025 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1-recette-jetable [Payé à l’heure] Crée une recette jetable sur CC modifié Modifié dans le changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants