mpdh13: order demands by date (#31562)

This commit is contained in:
Benjamin Dauvergne 2019-03-19 18:09:40 +01:00
parent a27ea7a749
commit eef9f43d34
2 changed files with 9 additions and 1 deletions

View File

@ -23,8 +23,9 @@ import re
import requests
from django.db import models, transaction
from django.utils import six
from django.utils import six, dateparse
from django.utils.translation import ugettext_lazy as _
from django.utils.timezone import now
from passerelle.utils.jsonresponse import APIError, to_json
from passerelle.utils.api import endpoint
@ -124,6 +125,8 @@ class MDPH13Resource(BaseResource, HTTPResource):
# Reorganize demandes
demandes = data.get('demandes')
# ISO8601 dates are lexicographicaly orderable
demandes.sort(key=lambda demande: demande.get('date_demande') or '', reverse=True)
if demandes:
if not isinstance(demandes, list):
raise APIError('demandes-must-be-a-list', data=content)

View File

@ -403,6 +403,11 @@ def test_dossier_ok(mdph13, mock_http):
assert len(response['data'][0]['dossier']['demandes']) == 2
assert len(response['data'][0]['dossier']['demandes']['en_cours']) == 1
assert len(response['data'][0]['dossier']['demandes']['historique']) == 7
# check demands are ordered by date
assert response['data'][0]['dossier']['demandes']['historique'][0]['date_demande'] == '2015-11-26'
dates = [demande['date_demande'] for demande in response['data'][0]['dossier']['demandes']['historique']]
assert sorted(dates, reverse=True) == dates
def test_dossier_with_link_id_ok(mdph13, mock_http):