Rend les plages horaires et les rappels ntfy configurables, supprime le
classement, ajoute une suite de tests pytest - calcul.py: matin_debut/fin, aprem_debut/fin et pause_dejeuner_fin sont paramétrables via config.json > plages (moteur de calcul de l'heure de sortie optimale inclus, pas seulement l'affichage). Défauts identiques à l'ancien comportement, validé par la suite de tests. - stats.py: les seuils de conformité utilisent la même config. - main.py/templates: warn de saisie et suffixes de cible dynamiques. - Rappels ntfy: serveur, topic et plage horaire (rappel_debut_h/fin_h) configurables par utilisateur depuis /settings, plus en dur dans le code. - Page classement supprimée (pas de compétition entre utilisateurs). - Nouvelle suite pytest (app/tests/), à lancer via `docker compose run --rm pointeuse pytest -v`.
This commit is contained in:
24
app/tests/conftest.py
Normal file
24
app/tests/conftest.py
Normal file
@ -0,0 +1,24 @@
|
||||
"""Freezes calcul.py's notion of "today" for deterministic tests."""
|
||||
import datetime as dt_module
|
||||
|
||||
import pytest
|
||||
|
||||
import calcul
|
||||
|
||||
|
||||
class FrozenDatetime(dt_module.datetime):
|
||||
_frozen = dt_module.datetime(2026, 7, 17, 10, 30) # vendredi
|
||||
|
||||
@classmethod
|
||||
def today(cls):
|
||||
return cls._frozen
|
||||
|
||||
@classmethod
|
||||
def now(cls, tz=None):
|
||||
return cls._frozen
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def freeze_today(monkeypatch):
|
||||
monkeypatch.setattr(calcul, "datetime", FrozenDatetime)
|
||||
return FrozenDatetime._frozen
|
||||
Reference in New Issue
Block a user