0002-mpdh13-order-demands-by-date-31562.patch
passerelle/contrib/mdph13/models.py | ||
---|---|---|
23 | 23 |
import requests |
24 | 24 | |
25 | 25 |
from django.db import models, transaction |
26 |
from django.utils import six |
|
26 |
from django.utils import six, dateparse
|
|
27 | 27 |
from django.utils.translation import ugettext_lazy as _ |
28 |
from django.utils.timezone import now |
|
28 | 29 | |
29 | 30 |
from passerelle.utils.jsonresponse import APIError, to_json |
30 | 31 |
from passerelle.utils.api import endpoint |
... | ... | |
124 | 125 | |
125 | 126 |
# Reorganize demandes |
126 | 127 |
demandes = data.get('demandes') |
128 |
# ISO8601 dates are lexicographicaly orderable |
|
129 |
demandes.sort(key=lambda demande: demande.get('date_demande') or '', reverse=True) |
|
127 | 130 |
if demandes: |
128 | 131 |
if not isinstance(demandes, list): |
129 | 132 |
raise APIError('demandes-must-be-a-list', data=content) |
tests/test_mdph13.py | ||
---|---|---|
403 | 403 |
assert len(response['data'][0]['dossier']['demandes']) == 2 |
404 | 404 |
assert len(response['data'][0]['dossier']['demandes']['en_cours']) == 1 |
405 | 405 |
assert len(response['data'][0]['dossier']['demandes']['historique']) == 7 |
406 |
# check demands are ordered by date |
|
407 |
assert response['data'][0]['dossier']['demandes']['historique'][0]['date_demande'] == '2015-11-26' |
|
408 |
dates = [demande['date_demande'] for demande in response['data'][0]['dossier']['demandes']['historique']] |
|
409 |
assert sorted(dates, reverse=True) == dates |
|
410 | ||
406 | 411 | |
407 | 412 | |
408 | 413 |
def test_dossier_with_link_id_ok(mdph13, mock_http): |
409 |
- |