Retour décalé après astreinte : la présence obligatoire couverte compte comme effectuée
Quand le repos de 11h décale le retour au bureau (ex. 11:00), les heures de
présence obligatoire couvertes (ex. 09:00→11:00) sont créditées à la colonne
Travaillé au lieu d'être retirées des heures dues, qui restent complètes.
Le solde est inchangé, mais le calcul est explicite : badge « +2h00 repos »
sous le total (plages couvertes au survol) et rappel dans le bloc astreinte.
Rien n'est crédité sans heures dues (week-end, férié, congé), et le crédit
ne dépasse pas le nominal du jour.
Corrige aussi la perte des interventions postées sans description (le zip
s'arrêtait sur la liste vide des descriptions).
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
This commit is contained in:
@ -76,3 +76,23 @@ def test_bascule_congen_regenere_le_menu_d_etat(monkeypatch):
|
||||
# Le swap OOB régénère le bouton avec la pastille MA active
|
||||
assert 'cg-chip st-ma">MA<' in r.text
|
||||
assert 'id="cg-btn-' + TODAY + '"' in r.text
|
||||
|
||||
|
||||
def test_retour_decale_affiche_le_credit_de_presence(monkeypatch):
|
||||
"""Retour mercredi 11:00 (event mardi 22:39→23:49) : la colonne Travaillé
|
||||
crédite les 2h de présence couvertes, avec badge et détail explicites."""
|
||||
monkeypatch.setattr(main, "datetime", _FrozenDatetime)
|
||||
cookies = _login("u-ui-credit")
|
||||
client.post("/astreinte/2026-07-14/toggle", cookies=cookies, follow_redirects=False)
|
||||
r = client.post("/pointage/2026-07-14", cookies=cookies,
|
||||
data={"astreinte_debut": ["22:39"], "astreinte_fin": ["23:49"]},
|
||||
headers={"HX-Request": "true"}, follow_redirects=False)
|
||||
assert r.status_code == 200
|
||||
|
||||
# Le crédit s'affiche sur la ligne du lendemain (jour du retour décalé)
|
||||
r = client.get("/semaine/2026/29", cookies=cookies, follow_redirects=False)
|
||||
assert r.status_code == 200
|
||||
assert 'class="calc-couvert"' in r.text
|
||||
assert "+2h00 repos" in r.text
|
||||
assert "matin 09:00→11:00" in r.text # détail des plages couvertes
|
||||
assert "de présence comptées" in r.text # rappel dans le bloc astreinte
|
||||
|
||||
Reference in New Issue
Block a user