Projet

Général

Profil

Development #88412

testdef, améliorer la gestion de l'avance dans le temps

Ajouté par Valentin Deniaud il y a environ un mois. Mis à jour il y a 24 jours.

Statut:
Solution déployée
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
20 mars 2024
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Pour le moment c'est basé sur une astuce : pour contourner le fait qu'on ne peut pas changer ce que renvoient les appels à localtime() et autres now(), on rembobine les dates stockées vers le passé, ça donne une ligne comme formdata.receipt_time = rewind_time(formdata.receipt_time).

Je ne sais pas ce qui est préférable entre persévérer dans cette approche par nature fragile mais qui a le mérite de garder la tambouille des tests bien séparée, ou créer un module wcs.utils.timezone, avec genre dedans :

def localtime():
    if hasattr(get_publisher(), test_datetime):
        return get_publisher().test_datetime
    return django_localtime()

pareil pour now et d'autres s'il y en a, en remplaçant tous les imports de django.utils.timezone.

Note : dans le déclencheur automatique d'une action globale, si on met relatif à la date de soumission du formulaire/du premier passage dans un statut, l'astuce actuelle fonctionne. Par contre si on met gabarit, il va falloir sacrément ruser pour aller rembobiner ce que ce gabarit renvoie : avant de réfléchir plus avant, j'ouvre donc ce ticket.

Révisions associées

Révision 27a0a87b (diff)
Ajouté par Valentin Deniaud il y a 24 jours

workflow_test: mock date globally for skip time action (#88412)

Historique

#1

Mis à jour par Valentin Deniaud il y a environ un mois

  • Assigné à mis à Valentin Deniaud
#2

Mis à jour par Robot Gitea il y a environ un mois

  • Statut changé de Nouveau à En cours

Valentin Deniaud (vdeniaud) a ouvert une pull request sur Gitea concernant cette demande :

#3

Mis à jour par Robot Gitea il y a environ un mois

  • Statut changé de En cours à Solution proposée
#4

Mis à jour par Robot Gitea il y a 29 jours

  • Statut changé de Solution proposée à Solution validée

Frédéric Péters (fpeters) a approuvé une pull request sur Gitea concernant cette demande :

#5

Mis à jour par Robot Gitea il y a 24 jours

  • Statut changé de Solution validée à Résolu (à déployer)

Valentin Deniaud (vdeniaud) a mergé une pull request sur Gitea concernant cette demande :

#6

Mis à jour par Transition automatique il y a 24 jours

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF